JP2011065044A - 音声処理装置、プログラム - Google Patents

音声処理装置、プログラム Download PDF

Info

Publication number
JP2011065044A
JP2011065044A JP2009217173A JP2009217173A JP2011065044A JP 2011065044 A JP2011065044 A JP 2011065044A JP 2009217173 A JP2009217173 A JP 2009217173A JP 2009217173 A JP2009217173 A JP 2009217173A JP 2011065044 A JP2011065044 A JP 2011065044A
Authority
JP
Japan
Prior art keywords
note
period
timing
start timing
sound pressure
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.)
Granted
Application number
JP2009217173A
Other languages
English (en)
Other versions
JP5549166B2 (ja
Inventor
Noriaki Asemi
典昭 阿瀬見
Seiji Kurokawa
誠司 黒川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009217173A priority Critical patent/JP5549166B2/ja
Publication of JP2011065044A publication Critical patent/JP2011065044A/ja
Application granted granted Critical
Publication of JP5549166B2 publication Critical patent/JP5549166B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】音符期間を推定する技術において、推定精度を向上させること。
【解決手段】開始・終了タイミング推定処理では、入力音声の音圧推移に基づいて、発音開始タイミングと発音終了タイミングとを検出する(S610,S640)と共に、入力音声における周波数軌跡から、ビブラート期間を特定する(S730:YES)。その特定されたビブラート期間内に対応する発音開始タイミングを消去し(S750)、ビブラート期間外に対応する発音開始タイミングのみを残す。残された発音開始タイミングと、その発音開始タイミングと対となるべき発音終了タイミングとが存在すれば、その対となる発音開始タイミングと発音終了タイミングとの間の期間を音符期間とし、一方、残された2つの発音開始タイミングが、それらの発音開始タイミングの間に発音終了タイミングを挟むことなく存在すれば、2つの発音開始タイミングの間を音符期間とする。
【選択図】図10

Description

本発明は、入力音声において、1つの音符とみなせる期間を表す音符期間を推定する音声処理装置、及びプログラムに関する。
従来、入力音声から、1つの音符とみなせる期間を表す音符期間を特定する音声処理装置が知られている(例えば、特許文献1参照)。
この特許文献1に記載の音声処理装置では、時間進行に沿って連続する2つの分析区間における平均音圧が、予め規定された規定値以上増加していれば、その連続する2つの分析区間のうち、時間進行において先の分析区間を音符開始タイミングとして特定する。そして、それら特定された音符開始タイミングに基づき、入力音声の時間進行に沿って連続する2つの音符開始タイミングの間を音符期間として推定している(以下、このような音符期間の推定技術を従来推定技術と称す)。
特許第4128848号
ところで、入力音声にビブラートがかかっている場合、入力音声の音圧の時間軸に沿った推移(以下、音圧推移と称す)は、上に凸と下に凸とを繰り返すように連続的に変動する。この音圧推移が上に凸となる領域では、それぞれの領域にて、連続する2つの分析区間における平均音圧が規定値以上増加することがある。
この場合、従来推定技術では、ビブラートでの発声期間(以下、ビブラート期間と称す)において、音圧推移が上に凸となる領域それぞれを、音符開始タイミングとして特定してしまう。すると、従来推定技術では、ビブラート期間を、本来推定されるべきではない複数の音符期間に分割して、それら分割されたそれぞれを音符期間として推定してしまう。
つまり、従来推定技術では、音符期間を精度良く推定できないという問題があった。
そこで、本発明は、音符期間を推定する技術において、推定精度を向上させることを目的とする。
上記目的を達成するためになされた本発明は、時間進行に沿って連続した入力音声から、1つの音符とみなせる期間それぞれを表す音符期間を推定する音声処理装置である。
その本発明の音声処理装置では、音圧推移特定手段が、入力音声から、その入力音声における音圧の時間進行に沿った推移を表す音圧推移を特定し、開始タイミング検出手段が、その特定された音圧推移が単調増加である区間にて、音圧推移に規定された第1規定期間における音圧の増加率が、時間進行に沿って最初に、予め規定された規定値以上となった時点それぞれを、音符開始タイミングとして検出する。ただし、ここでいう音符開始タイミングとは、音符期間の開始タイミングそれぞれである。
そして、本発明の音声処理装置では、ビブラート期間特定手段が、入力音声における音高の時間進行に沿った推移を表す音高推移に基づいて、ビブラート期間を特定し、期間内タイミング除去手段が、開始タイミング検出手段にて検出された音符開始タイミングの中で、ビブラート期間内に対応する音符開始タイミング(即ち、期間内タイミング)を、開始タイミング検出手段での検出結果の中から除去する。ただし、ここでいうビブラート期間とは、入力音声中にてビブラートにより発声された期間である。
さらに、本発明の音声処理装置では、音符期間推定手段が、期間内タイミングが除去された後の音符開始タイミングそれぞれと対となる音符終了タイミングを特定すると共に、該対となる音符開始タイミングと音符終了タイミングとの間の期間それぞれを音符期間として推定する。
つまり、本発明の音声処理装置では、音符期間の開始タイミングとして、全ての音符開始タイミングの中から期間内タイミングが除去された後に残った音符開始タイミングのみが用いられる。
したがって、本発明の音声処理装置によれば、音符期間を推定する際に、ビブラート期間中に含まれる音符開始タイミングが用いられることを防止できる。この結果、本発明の音声処理装置によれば、少なくとも、ビブラート期間内から期間が開始される音符期間が推定されることがなくなり、1つのビブラート期間が2つ以上の音符期間に分割して推定されることを防止できる。
換言すれば、本発明の音声処理装置によれば、従来推定技術に比べ、入力音声における音符期間の推定精度を向上させることができる。
なお、ここでいう第1規定期間とは、音圧推移が単調増加である区間全体よりも短い期間であってもよいし、単調増加である区間全体でもよい。
また、本発明の音声処理装置におけるビブラート期間特定手段では、請求項2に記載のように、増減検出手段が、期間音高推移における音高の変動幅が規定幅以下であれば、該期間音高推移にて音高が増加する増加区間、及び音高が減少する減少区間を検出し、その検出された増加区間及び減少区間の数が規定数以上であれば、期間特定手段が、期間音高推移に対応する第2規定期間をビブラート期間として特定するように構成されていても良い。なお、ここでいう期間音高推移とは、第2規定期間における音高推移である。ただし、第2規定期間とは、音高推移の全体にわたって、かつ時間進行に沿って互いに連続するように規定された複数の期間それぞれである。
複数によって音高推移の全体にわたって、かつ時間進行に沿って互いに連続するように規定された第2規定期間での音高推移である。
このように構成されたビブラート期間特定手段によれば、時間進行に沿った入力音声の開始時点から終了時点までの中から、条件を満たす第2規定期間を、ビブラート期間として特定することができる。
ところで、音符期間推定手段は、請求項3に記載のように、音圧推移における音圧が、期間内タイミングが除去された後の音符開始タイミング以降、最初に、該音符開始タイミングにおける音圧以下となった音圧変動時点を、該音符開始タイミングと対となる音符終了タイミングとして特定するように構成されていても良い。
このように構成された終了タイミング推定手段によれば、発音終了タイミングを音圧推移から直接推定することができる。
なお、音符期間推定手段が請求項3に記載のように構成されている場合、音符終了タイミングを表す時間進行上の時点は、期間内タイミングを除去する前に推定されたものでも良いし、期間内タイミングを除去した後に推定されたものでも良い。
ただし、音符期間推定手段が請求項3に記載のように構成されている場合、ビブラート期間において音圧が単調減少する区間を、音符終了タイミングとして推定する可能性がある。
これを防止するため、請求項3に記載の音符期間推定手段において、期間内タイミングが除去された後の音符開始タイミング以降、かつビブラート期間の終了タイミング以降における最初の音圧変動時点を、該音符開始タイミングと対となる音符終了タイミングとしてみなすようにしても良い。
ところで、人が歌唱する場合、入力音声の音圧が、音符開始タイミングにおける音圧まで低下することなく上昇し、次の音に対する発声が開始されることがある。このような状況下では、請求項3に記載の音符期間推定手段は、音符終了タイミングそのものが特定されない可能性がある。
このため、本発明において、音符期間推定手段は、請求項4に記載のように、後開始タイミングから設定時間長だけ前の時点を、前開始タイミングと対となる音符終了タイミングとして特定するように構成されていても良い。ただし、ここでいう前開始タイミングとは、期間内タイミングが除去された後の時間進行に沿って隣接する音符開始タイミングのうち、時間進行上、前の音符開始タイミングであり、後開始タイミングとは、時間進行上、後の音符開始タイミングである。
このように構成された音符期間推定手段によれば、入力音声から音符終了タイミングが推定できない場合であっても、音符開始タイミングから音符終了タイミングを推定することができる。これにより、本発明の音声処理装置によれば、音符終了タイミングが推定されないという事態に陥ることを防止できる。
特に、このように構成された本発明の音声処理装置において、設定時間長を0[s]とみなせるほど短い時間とすれば、特定される音符終了タイミングは、ビブラート期間の終了タイミング以降となる。この結果、独立した1つの音符期間にビブラート期間全体を包含することができる。
なお、本発明の音声処理装置における音符期間推定手段が請求項4に記載のように構成されている場合、該音符期間推定手段は、さらに、請求項5に記載のように、後開始タイミングよりも時間進行上、前に、音圧推移における音圧が、前開始タイミングにおける音圧以下となった音圧変動時点が存在すれば、該音圧変動時点を前開始タイミングと対となる音符終了タイミングとして特定するように構成されていることが望ましい。
このように構成された本発明の音声処理装置によれば、音圧推移から音符終了タイミングを特定する方法と、音符開始タイミングから音符終了タイミングを特定する方法とを併存させたとしても、1つの音符開始タイミングに対して、音符終了タイミングを1つに特定することができる。
また、上述したように音符期間推定手段を構成した場合、入力音声の時間進行に沿って最後の音符開始タイミングと対となる音符終了タイミングが特定されない可能性がある。
このため、本発明の音符期間推定手段は、請求項6に記載のように、入力音声の時間進行に沿った終端を、期間内タイミングが除去された後の音符開始タイミングのうち、時間進行に沿った最後の音符開始タイミングと対となる音符終了タイミングとして特定するように構成されていても良い。
このように構成された本発明の音声処理装置によれば、入力音声の時間時間に沿った終端を音符終了タイミングとして特定するため、時間進行に沿った最後の音符開始タイミングと対となる音符終了タイミングが特定されないという事態を防止できる。
なお、本発明は、コンピュータに実行させるプログラムとしてなされたものでも良い。
ただし、本発明のプログラムは、請求項7に記載のように、入力音声から、その入力音声の音圧推移を特定する音圧推移特定手順と、その特定された音圧推移が単調増加である区間での第1規定期間における音圧の増加率が、時間進行に沿って最初に規定値以上となった時点それぞれを、音符開始タイミングとして検出する開始タイミング検出手順と、音高推移に基づいて、ビブラート期間を特定するビブラート期間特定手順とをコンピュータに実行させる。さらに、本発明のプログラムは、開始タイミング検出手順にて検出された音符開始タイミングの中で、ビブラート期間内に対応する音符開始タイミングを期間内タイミングとし、開始タイミング検出手順での検出結果の中から、期間内タイミングを除去する期間内タイミング除去手順と、期間内タイミング除去手順にて、期間内タイミングが除去された後の前記音符開始タイミングそれぞれと対となる音符終了タイミングを特定すると共に、該対となる音符開始タイミングと音符終了タイミングとの間の期間それぞれを音符期間として推定する音符期間推定手順とをコンピュータに実行させる必要がある。
本発明がこのようになされたプログラムであれば、例えば、DVD−ROM、CD−ROM、ハードディスクやフラッシュメモリ等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードさせて起動することや、必要に応じて通信回線を介してコンピュータに取得させて起動することにより用いることができる。そして、コンピュータに各手順を実行させることで、そのコンピュータを、請求項1に記載された音声処理装置として機能させることができる。
楽曲検索システムの概略構成を示すブロック図である。 楽曲検索処理の処理手順を示したフローチャートである。 音高推定処理の処理手順を示したフローチャートである。 相関ピークの検出方法を模式的に示した説明図である。 音声基本周波数f0の決定方法を模式的に示した説明図である。 信頼度算出処理の処理手順を示したフローチャートである。 f0候補信頼度の導出過程を例示した説明図である。 f0補正処理の処理手順を示したフローチャートである。 f0補正処理の動作例を説明するための説明図である。 開始・終了タイミング推定処理の処理手順を示したフローチャートである。 開始・終了タイミングの推定過程を例示した説明図である。 開始・終了タイミングの推定過程を例示した説明図である。 採譜処理の処理手順を示したフローチャートである。 採譜処理おいて、音符音高の決定過程を例示した説明図である。 採譜結果照合処理の処理手順を示したフローチャートである。
以下、本発明の実施形態を図面と共に説明する。
まず、図1は、本発明が適用された音声処理装置を備えた楽曲検索システムの概略構成を示すブロック図である。
〈楽曲検索システムについて〉
楽曲検索システム1は、利用者が発声することで入力された入力音声から、その音声を入力する際に利用者が意図したと推定される楽曲(以下、意図予想曲と称す)を検索するものである。
このため、図1に示すように、楽曲検索システム1は、楽曲毎に予め用意された楽曲データを格納するサーバ40と、入力音声を採譜し、その採譜した結果を楽曲データに照合することで意図予想曲を検索する音声処理装置20とを備えている。なお、音声処理装置20は、ネットワーク(例えば、専用回線やWAN)を介してサーバ40に接続されている。
このうち、サーバ40は、楽曲データを格納する記憶装置41と、ROM,RAM,CPUを少なくとも有した周知のマイクロコンピュータ42とを備えた情報処理装置を中心に構成された周知のサービス用サーバ装置である。
〈楽曲データについて〉
次に、記憶装置41に格納される楽曲データについて説明する。
この楽曲データは、当該楽曲を識別するためのデータである楽曲情報と、当該楽曲の演奏開始から演奏終了までに要する時間を示す時間情報と、当該楽曲の旋律に関するデータであるガイドメロディとを有している。
そして、楽曲情報には、楽曲を特定するための曲番号データと、その楽曲の曲名を示す曲名データとが少なくとも含まれている。
また、ガイドメロディは、楽曲の主旋律(以下、基準旋律と称す)を形成する各構成音について、それぞれの音高及び音価が表された周知のデータである。具体的に、本実施形態における構成音の音長は、楽音出力開始時間及び楽音出力終了時間によって表されている。ただし、ここで言う楽音出力開始時間とは、その構成音の出力を開始するまでの当該楽曲の演奏開始からの時間であり、楽音出力終了時間とは、その構成音の出力を終了するまでの当該楽曲の演奏開始からの時間である。つまり、楽音出力開始時間と楽音出力終了時間との間の時間長が、当該構成音の音長となる。
以下、ガイドメロディにおいて、各構成音の音高及び音価を表す情報を、基準音符データと称す。ただし、この基準音符データは、各構成音の音高及び音価が、その構成音の基準旋律における時間進行上の順番と対応付けられたものである。
〈音声処理装置について〉
次に、音声処理装置20について説明する。
ここで図1へと戻り、音声処理装置20は、通信部21と、表示部22と、操作受付部23と、マイクロホン24と、音声入力部25と、音声出力部26と、スピーカ27と、記憶部28と、制御部30とを備えている。
このうち、通信部21は、音声処理装置20をネットワーク(例えば、専用回線や、WAN)に接続し、その接続されたネットワークを介して外部(即ち、サーバ40)と通信を行うための通信インタフェースである。
そして、表示部22は、例えば、液晶ディスプレイ等から構成された周知の表示装置である。また、操作受付部23は、例えば、キーボードやポインティングデバイス(例えば、マウス)等の周知の入力装置からなる。
マイクロホン24は、音声を入力するための周知の装置である。そして、音声入力部25は、マイクロホン24を介して入力された音声(アナログ信号)をサンプリングし、そのサンプリング値(標本値)を制御部30に入力するAD変換器として構成されている。なお、以下では、音声入力部25にてサンプリング値へと変換された音声を音声データと称す。
さらに、音声出力部26は、制御部30からの指令に基づく制御信号を、スピーカ27に出力するように構成されている。そして、スピーカ27は、音声出力部26からの制御信号を音に変換して放音するように構成されている。
また、記憶部28は、電源が切断されても記憶内容を保持すると共に、記憶内容を読み書き可能に構成された記憶装置(例えば、ハードディスクドライブ)であり、プログラムや通信部21を介してサーバ40から取得した楽曲データ等が格納される。
次に、制御部30は、ROM31と、RAM32と、CPU33とを少なくとも有した周知のマイクロコンピュータを中心に構成されている。
このうち、ROM31は、電源が切断されても記憶内容を保持する必要のあるプログラムやデータを格納するものである。また、RAM32は、プログラムやデータを一時的に格納するものであり、記憶部28からの処理プログラムが転送されて格納されるものである。
そして、CPU33は、ROM31やRAM32に記憶された処理プログラムに従って各処理(各種演算)を実行して、音声処理装置20を構成する各部21,22,23,25(24),26(27),28に対する制御を実行する。
なお、本実施形態では、処理プログラムとして、利用者がマイクロホン24を介して入力した入力音声に基づいて、その入力音声を採譜した音声音符データを生成し、その生成した音声音符データを基準音符データそれぞれに照合した結果に従って意図予想曲を検索する楽曲検索処理を制御部30(より正確には、CPU33)が実行するためのものが用意されている。
〈楽曲検索処理について〉
次に、制御部30が実行する楽曲検索処理について説明する。
ここで、図2は、楽曲検索処理の処理手順を示したフローチャートである。
この楽曲検索処理は、マイクロホン24を介して入力された入力音声に基づく音声データが、少なくとも1つ記憶部28に格納された後、操作受付部23介して起動指令を受け付けると起動される。ここでの入力音声は、時間の進行に沿って、一定時間以上連続(継続)したものである。
そして、図2に示すように、楽曲検索処理は、起動されると、まず、S110にて、記憶部28に記憶された音声データの中から、1つの音声データを取得する。
続く、S120では、S110にて取得した音声データに対して、それぞれ周知のダウンサンプリング、直流成分の除去、ノイズ除去処理、コンプレッサ処理、及びノーマライズを事前処理として実行する。以下、S120にて事前処理が完了した音声データを処理済音声データと称す。
そして、S130では、処理済音声データにおいて入力音声の時間進行に沿って規定された単位区間毎に、その単位区間における入力音声の音高(音声基本周波数f0)を推定する音高推定処理を実行する。
さらに、S150では、入力音声において、規定の音圧以上で発声を継続した期間である発音期間それぞれの開始タイミング及び終了タイミングを推定する開始・終了タイミング推定処理を実行する。以下、開始・終了タイミング推定処理にて推定される開始タイミング、終了タイミングを、それぞれ、発音開始タイミング、発音終了タイミングと称す。
続く、S190では、S150にて推定された発音開始タイミング及び発音終了タイミングに基づいて、1つの音符とみなせる期間(以下、音符期間と称す)を推定し、その推定した音符期間における音高(以下、音符音高と称す)を、S130にて推定された単位区間毎の音声基本周波数f0に基づいて特定する採譜処理を実行する。この採譜処理により、各音符期間の期間長(即ち、音長、または、この音長を量子化した音価)と、音符音高とが対応付けられたデータ、即ち、音声音符データとして、入力音声を音符化したデータが生成される。
そして、S210では、S190で生成された音声音符データを、基準音符データに照合し、その照合した結果に基づいて意図予想曲を特定すると共に、その特定した意図予想曲を音声処理装置20の利用者に報知する採譜結果照合処理を実行する。
その後、本楽曲検索処理を終了する。
〈音高推定処理について〉
次に、楽曲検索処理のS130にて起動される音高推定処理について説明する。
ここで、図3は、音高推定処理の処理手順を示したフローチャートである。
この音高推定処理は、図3に示すように、起動されると、S310にて、処理済音声データを周波数解析する。この周波数解析として、本実施形態では、処理済音声データにおける予め規定されたサンプリング数の標本値をFFT(Fast Fourier Transform)する。なお、サンプリング数分の標本値は、処理済音声データの開始から終了までの間を、時間進行に沿った一部を重複させながら繰り返し取得される。これにより、入力音声の振幅スペクトル(即ち、周波数成分の分布)が、サンプリング数に対応する単位区間毎に導出される。
続く、S330では、S310にて導出した振幅スペクトルに基づいて、振幅スペクトルの周波数成分が基本周波数成分であることの確からしさを表す自己相関値を導出する。
具体的には、1つの振幅スペクトルの各周波数成分における振幅値と、その振幅スペクトルにおける各周波数成分から規定周波数幅だけ増加させた周波数成分における振幅値との積和を、自己相関値として導出している。このため、規定周波数幅だけ変位させる毎に導出される自己相関値は、規定周波数幅だけ変位させた際に、基本周波数成分、またはその基本周波数の倍音成分が一致すると大きな値となる。
なお、S330では、振幅スペクトル(即ち、単位区間)毎に、その振幅スペクトルから導出された全ての自己相関値の平均値(以下、自己相関平均値と称す)も導出する。
さらに、S350では、先のS330にて導出された自己相関値を平滑化微分することで、各単位区間における音声基本周波数f0の候補となる周波数を表す区間f0候補を検出する。
その区間f0候補は、図4に示すように、自己相関値の軌跡における極大値(以下、相関ピークとする)に対応する周波数である。ここでの自己相関値の軌跡とは、規定周波数毎の自己相関値を周波数軸に沿って配置してなるものである。
ただし、本実施形態では、自己相関値が自己相関平均値以上である相関ピークのみを、区間f0候補としている(すなわち、図4に示す例では、第4相関ピークが自己相関平均値未満であるため、第4相関ピークに対応する周波数は、区間f0候補として検出されない)。さらに、本実施形態におけるS350では、区間f0候補として検出されない周波数成分における自己相関値は、その値を0としている。
このS350は、処理済音声データに規定された全単位区間について終了するまで繰り返し実行される。
続くS370では、S350にて検出された区間f0候補それぞれの音声基本周波数f0としての尤度を表すf0候補信頼度を算出する信頼度算出処理を実行する。この信頼度算出処理にて導出されるf0候補信頼度は、尤度が高いほど大きな値となる。
なお、この信頼度算出処理は、単位区間毎に実行される。このため、一回の信頼度算出処理により、1つの振幅スペクトルから導出された区間f0候補それぞれについて、f0候補信頼度が算出される。
そして、S390では、S370にて導出された単位区間毎のf0候補信頼度に基づいて、その単位区間における音声基本周波数f0を決定する。その音声基本周波数f0として決定される区間f0候補は、図5に示すように、S370にて導出された全てのf0候補信頼度の中で、値が最も高いf0候補信頼度に対応するものである(図5に示す例では、第1区間f0候補が、音声基本周波数f0として決定される)。
ただし、本実施形態のS390では、予め規定された信頼度閾値未満であるf0候補信頼度は、その値を0としている(図5に示す例では、第3区間f0候補のf0候補信頼度が信頼度閾値未満であるため、そのf0候補信頼度の値が0となる)。そして、単位区間における全てのf0候補信頼度が信頼度閾値未満であれば、その単位区間における音声基本周波数f0を0[Hz]に決定する。つまり、f0候補信頼度が低い場合、そのf0候補信頼度に対応する区間f0候補が、音声基本周波数f0として決定されないようにしている。
さらに、S410では、処理済音声データに規定された全ての単位区間について、S370及びS390のステップを実行したか否かを判定する。
そのS410での判定の結果、全ての単位区間について、S370及びS390を実行していなければ、S370へと戻る。そのようにして移行したS370では、前回のS370にてf0候補信頼度を算出した単位区間から、処理済音声データにおける時間進行に沿って次の単位区間を対象としてf0候補信頼度を算出し、その後、S390へと進む。
そして、全ての単位区間について、S370及びS390の実行が終了すると、S430へと進む。
そのS430では、S390にて決定された単位区間毎の音声基本周波数f0を補正するf0補正処理を実行する。このf0補正処理は、単位区間毎の音声基本周波数f0を、入力音声における時間進行に沿って配置してなる周波数推移分布において、音声基本周波数f0が不連続とみなせる不連続領域に対して実行される。
続く、S450では、S430にて補正が実行された後の各単位区間における音声基本周波数f0を、半音単位で量子化する。これにより、音声基本周波数f0が、半音毎に吸着されることになる。なお、この量子化は、周知の処理であるため、ここでの詳しい説明は省略する。
その後、本音高推定処理を終了して、楽曲検索処理のS150へと進む。
〈信頼度算出処理について〉
次に、音高推定処理のS370にて起動される信頼度算出処理について説明する。
ここで、図6は、信頼度算出処理の処理手順を示したフローチャートである。
この信頼度算出処理は、図6に示すように、音高推定処理のS370にて起動されると、S3710では、1つの単位区間における全ての区間f0候補の中から、特定周波数帯に含まれる区間f0候補(以下、特定f0候補と称す)の自己相関値を抽出する。ただし、本実施形態における特定f0候補は、特定周波数帯に含まれる区間f0候補の中で、最低周波数に対応するものである。なお、特定周波数帯とは、自己相関値の導出によって自動的に規定される下限周波数から上限周波数までの周波数帯である。
続く、S3720では、S3710にて抽出した自己相関値に対応する特定f0候補の倍音範囲に含まれる区間f0候補(以下、倍音f0候補と称す)の自己相関値を1つ取得する。ただし、倍音範囲とは、S3710にて取得された自己相関値に対応する特定f0候補の倍音成分を中心として、その倍音成分を挟むように規定された周波数範囲である。
そして、S3730では、S3720にて取得した倍音f0候補の自己相関値から、S3710にて抽出された特定f0候補の自己相関値を減算する。そして、その減算結果を、S3720にて取得した倍音f0候補の自己相関値として新規に規定(即ち、変更)する。
続く、S3740では、1つの単位区間における全ての倍音f0候補の自己相関値に対して、S3730のステップを実行したか否かを判定する。その判定の結果、全ての倍音f0候補の自己相関値に対して、S3730のステップを実行していなければ、S3720へと戻る。
そのようにして移行したS3720では、前回S3720にて取得した自己相関値に対応する区間f0候補の次に高い倍音範囲に含まれる区間f0候補を倍音f0候補とし、その倍音f0候補の自己相関値を取得して、S3730へと進む。
つまり、このS3720からS3740のステップを繰り返すことにより、図7(A)に示すように、倍音f0候補の自己相関値は、先の音高推定処理におけるS330にて導出された値から、特定f0候補の自己相関値が減算された値に変更される。
さらに、S3750では、自己相関値に減衰係数を乗算する。この減衰係数は、図7(B)に示すように、乗算される自己相関値に対応する周波数が低いほど値が大きく、周波数が高いほど値が小さなものである。
ただし、減衰係数が乗算される自己相関値は、特定f0候補の自己相関値と、S3720からS3740のステップの繰り返しにより変更された全ての倍音f0候補の自己相関値とを含む、単位区間における全ての区間f0候補の自己相関値である。
続く、S3760では、S3750にて減衰係数が乗算された後の自己相関値に、各自己相関値に対応する区間f0候補のスペクトル振幅値を乗算する。そして、乗算した結果を、各区間f0候補についてのf0候補信頼度として導出する。
なお、区間f0候補以外の周波数成分(以下、非候補周波数と称す)に対応する自己相関値は、先の音高推定処理におけるS350にて、その値が0とされる。このため、非候補周波数の自己相関値について、S3750での減衰係数の乗算や、S3760でのf0候補信頼度の演算を実行しても、その演算結果は0になる。
したがって、S3750での減衰係数の乗算、及びS3760でのf0候補信頼度の演算により、単位区間における区間f0候補についてのf0候補信頼度のみが算出される。
その後、本信頼度算出処理を終了して、音高推定処理のS390へと戻る。
つまり、本実施形態の信頼度算出処理では、各周波数成分の自己相関値に減衰係数を乗じることで、音声基本周波数f0の倍音成分が含まれる可能性の高い高周波帯における区間f0候補の自己相関値が抑制される。よって、その値が抑制された自己相関値に、各自己相関値に対応する区間f0候補の振幅値を乗じたf0候補信頼度は、基本周波数の周波数成分に対応するものほど大きな値となる。
〈f0補正処理について〉
次に、音高推定処理のS430にて起動されるf0補正処理について説明する。
ここで、図8は、f0補正処理の処理手順を示したフローチャートである。
このf0補正処理は、図8に示すように、起動されると、まず、S4310では、先の音高推定処理のS310にて周波数解析を実行した全ての単位区間の中から、1つの単位区間を選択する。このS4310では、単位区間は、S4310に移行する毎に、処理済音声データの開始から、処理済音声データにおける時間進行に沿って1つずつ選択される。
続く、S4320では、先のS4310にて選択された単位区間における音声基本周波数f0が0[Hz]であるか否かを判定する。
その判定の結果、音声基本周波数f0が0[Hz]であれば、S4330へと進む。そのS4330では、区間カウンタを1つインクリメントして、S4310へと戻る。
つまり、S4310からS4330のステップが実行されることで、音声基本周波数f0が0[Hz]である単位区間(以下、非正規周波数区間と称す)が、処理済音声データの時間進行に沿って連続する数が計測される。
一方、S4320での判定の結果、音声基本周波数が0[Hz]以外の周波数であれば、S4340へと進む。
そのS4340では、今回S4340に移行するまでの間、第1区間f0としていた音声基本周波数f0を第2区間f0とし、今回S4340へと移行する契機となり、かつS4310で選択された単位区間における音声基本周波数f0を第1区間f0として設定する。つまり、このS4340へと移行すると、処理済音声データの時間進行に沿って取得済みである音声基本周波数f0の中で、音声開始に近い単位区間における音声基本周波数f0を第2区間f0とし、音声終了に近い単位区間における音声基本周波数f0を第1区間f0としている。
続く、S4350では、区間カウンタの値であるカウント値が、予め規定された第1規定値以上であるか否かを判定する。
そして、S4350での判定の結果、カウント値が第1規定値以上であれば、S4360へと進む。すなわち、処理済音声データの時間進行に沿って連続する非正規周波数区間の数が、第1規定値以上であれば、その連続する非正規周波数区間を、周波数推移分布における不連続領域として検出する。以下、第1規定値以上連続する非正規周波数区間を、長期不連続領域と称す。
そして、S4360では、処理済音声データの時間進行において、第2区間f0に対応する単位区間の直後の単位区間から、直近のS4310にて選択された単位区間の直前の単位区間までの音声基本周波数f0が、第2区間f0となるように補正する。その後、S4390へと進む。
つまり、S4360では、長期不連続領域を形成する非正規周波数区間における音声基本周波数f0を、0[Hz]から第2区間f0へと変更する。
ところで、S4350での判定の結果、カウント値が第1規定値未満であれば、S4370へと進む。そのS4370では、カウント値が1以上であるか否かを判定する。その判定の結果、カウント値が1以上であれば、S4380へと進む。つまり、入力音声の時間進行に沿って連続する非正規周波数区間の数が、1つ以上であり、かつ第1規定値未満であれば、その連続する非正規周波数区間を、周波数推移分布における不連続領域として検出する。以下、1つ以上かつ第1規定値未満連続する非正規周波数区間を、短期不連続領域と称す。
そして、S4380では、短期不連続領域に対応する単位区間の音声基本周波数f0を、第2区間f0から、一定の変動幅で変動しながら順に第1区間f0へと直線的に到達するように補正する。その後、S4390へと進む。
つまり、S4380では、短期不連続領域を形成する非正規周波数区間における音声基本周波数f0を、0[Hz]から、第2区間f0と第1区間f0とを結ぶ直線上の周波数へと変更する。
続くS4390では、区間カウンタを初期化(ここでは、値を0と)する。
その後、S4400にて、処理済音声データに規定された全ての単位区間を、S4310にて選択済みであるか否かを判定する。その判定の結果、未選択の単位区間が存在すれば、S4310へと戻る。
ところで、S4370での判定の結果、カウント値が1未満であれば、S4410へと進む。すなわち、周波数推移分布において、第2区間f0に対応する単位区間と第1区間f0に対応する単位区間との間に、非正規周波数区間が存在しなければ、S4410へと進む。
そのS4410では、音飛フラグが設定済みであるか否かを判定する。なお、音飛フラグとは、設定済みであれば、周波数推移分布における不連続領域の1つである倍音誤検出領域の開始時点が検出されたことを表す。
つまり、S4410以降のステップでは、周波数推移分布において、処理済音声データの時間進行に沿って隣接する単位区間における音声基本周波数f0同士の比率が、予め設定された比率の範囲を表す特別範囲を超えることで、周波数推移が不連続となる不連続領域(即ち、倍音誤検出領域)を検出する。これと共に、S4410以降のステップでは、倍音誤検出領域を形成する単位区間に対応する音声基本周波数f0を補正する。
そして、S4410での判定の結果、音飛フラグが未設定であれば、S4420へと進む。そのS4420では、第2区間f0を第1区間f0にて除した結果(以下、第1周波数比率と称す)が、特別範囲を超えているか否かを判定する。
そして、S4420での判定の結果、第1周波数比率が特別範囲を超えていれば、S4430へと進む。そのS4430では、音飛フラグを設定する。つまり、処理済音声データの時間進行に沿って隣接する単位区間における音声基本周波数f0同士の比率が、特別範囲を超えると、それら隣接する単位区間のうち、時間進行に沿った後の単位区間を、倍音誤検出領域の開始時点とする。
続く、S4440では、第2区間f0を第3区間f0とする。その後、S4400へと進む。
なお、S4420での判定の結果、第1周波数比率が特別範囲以内であれば、周波数推移分布において、倍音誤検出領域が開始されていないものと判定して、S4400へと進む。そのS4400では、全ての単位区間の中に、未選択の単位区間が存在すれば(S4400:NO)、S4310へと戻る。
ところで、S4410での判定の結果、音飛フラグが設定済みであれば、S4450へと進む。そのS4450では、周波数推移分布において、倍音誤検出領域が継続中であるものとして、音飛カウンタを1つインクリメントする。
その後、S4460では、第3区間f0を第1区間f0にて除した結果(以下、第2周波数比率と称す)が、特別範囲を超えているか否かを判定する。その判定の結果、第2周波数比率が特別範囲を超えていれば、S4470へと進む。
そして、S4470では、音飛カウンタの値である音飛値が、予め規定された第2規定値以上であるか否かを判定する。その判定の結果、音飛値が第2規定値未満であれば、周波数推移分布において、倍音誤検出領域が継続中であるものとして、S4400へと進む。
ところで、S4460での判定の結果、第2周波数比率が特別範囲以内であれば、周波数推移分布において、倍音誤検出領域の継続が終了したものとして、S4480へと進む。つまり、倍音誤検出領域は、周波数推移分布において、時間進行に沿って隣接する単位区間における音声基本周波数f0が特別範囲を超えて変動(以下、特定変動と称す)した時点から、その特定変動の後に時間進行に沿って隣接する単位区間における音声基本周波数f0が、第3区間f0を基準とした特別範囲以内へと戻った時点までの領域である。ただし、倍音誤検出領域は、その領域を構成する単位区間の数が第2規定数未満である領域である。
そのS4480では、倍音誤検出領域に対応する単位区間の音声基本周波数f0を、第3区間f0から、一定の変動幅で変動しながら順に第1区間f0へと直線的に到達するように補正する。その後、S4490へと進む。
なお、S4470での判定の結果、音飛値が第2規定値以上であれば、対応する特定変動以降に隣接する単位区間からなる領域は、不連続領域ではなく、入力音声における音声基本周波数f0の推移そのものを表しているものとして、S4490へと進む。そのS4490では、音飛カウンタを初期化すると共に、音飛フラグを解除して、S4400へと進む。
そのS4400では、全ての単位区間の中に、未選択の単位区間が存在すれば(S440:NO)、S4310へと戻る。なお、S4400に移行した際に、未選択の単位区間が存在しなければ、f0補正処理を終了して、音高推定処理のS450へと進む。
次に、本実施形態におけるf0補正処理を実行した場合の動作例について説明する。
ここで、図9(A)は、f0補正処理を実行する前の周波数推移分布を示した図面であり、図9(B)は、f0補正処理を実行した後の周波数推移分布を示した図面である。
図9(A)に示すような周波数推移分布を示す各単位区間における音声基本周波数f0に対して、f0補正処理が実行されると、まず、周波数推移分布における入力音声の時間進行に沿った単位区間が選択される(S4310)。その選択された単位区間における音声基本周波数f0は、単位区間t1における音声基本周波数f0_t1までは、全て0[Hz]以外の周波数であり、かつ時間進行に沿って連続する単位区間における音声基本周波数f0同士の比率が、特別範囲以内である。このため、周波数推移分布における開始時点から単位区間t1までは、周波数補正が行われること無く、音高推移処理のS390にて決定された音声基本周波数f0が維持される。
ところが、単位区間t1における音声基本周波数f0_t1と、単位区間t2における音声基本周波数f0_t2との比率は、特別範囲を超える。
このため、S4310にて単位区間t2が選択されると、S4420にて否定判定され、音飛フラグが設定される。次に、S4310にて選択された単位区間t3における音声基本周波数f0_t3は、音声基本周波数f0_t1との比率が特別範囲を超える。このため、S4460にて肯定判定され、しかも、この時点での音飛値が第2規定値未満(このf0補正処理の動作の説明では、第2規定値を2以上とする)であることから、S4470では、否定判定となる。
そして、S4310にて、処理済音声データの時間進行に沿って次に選択された単位区間t4における音声基本周波数f0_t4は、音声基本周波数f0_t1との比率が特別範囲以内である。よって、S4460にて否定判定され、単位区間t2から単位区間t3までの区間が、倍音誤検出領域として検出される。このようにして検出された倍音誤検出領域における音声基本周波数f0_t2,f0_t3を、図9(B)に示すように、音声基本周波数f0_t1から、一定の変動幅で変動しながら順に音声基本周波数f0_t4へと直線的に到達するように補正する。
ここで、図9(A)へと戻り、f0補正処理において、入力音声の時間進行に沿って単位区間の選択を繰り返す。このとき、図9(A)に示す周波数推移分布において、単位区間t5から単位区間t9までの間の領域は、全ての単位区間にて音声基本周波数f0(図中、f0_t5〜t9)が0[Hz]である。
このことから、f0補正処理では、S4310にて、単位区間t5〜t10が選択された際には、それらの単位区間t5〜t10が選択される毎に、S4330へと移行し、区間カウンタを5まで増加させる。なお、S4310にて、入力音声に沿って次に選択される単位区間t10における音声基本周波数f0_t10は、0[Hz]以外の周波数であるため、S4320にて肯定判定される。そして、カウント値が、第1規定値未満であり(このf0補正処理の動作の説明では、第1規定値を6以上とする)、かつ1以上であることから、S4370では否定判定となる。よって、単位区間t5から単位区間t10が、短期不連続領域として検出される。このようにして検出された短期不連続領域における音声基本周波数f0_t5〜t9を、図9(B)に示すように、音声基本周波数f0_tAから、一定の変動幅で変動しながら順に音声基本周波数f0_t10へと直線的に到達するように補正する。
つまり、本実施形態のf0補正処理では、周波数推移分布における不連続領域として、倍音誤検出領域や、短期不連続領域、長期不連続領域を検出する。
そして、不連続領域として倍音誤検出領域や短期不連続領域が検出されると、f0補正処理では、それらの倍音誤検出領域や短期不連続領域を時間進行に沿って挟む直前の単位区間における音声基本周波数f0から、一定の変動幅で変動しながら順に、直後の単位区間における音声基本周波数f0へと到達するように補正する。一方、不連続領域として長期不連続領域が検出されると、f0補正処理では、その長期不連続領域に対して時間進行上直前の単位区間における音声基本周波数f0を、長期不連続領域を形成する単位区間における音声基本周波数f0とする。
〈開始・終了タイミング推定処理について〉
次に、楽曲検索処理のS150にて起動される開始・終了タイミング推定処理について説明する。
ここで、図10は、開始・終了タイミング推定処理の処理手順を示したフローチャートである。
この開始・終了タイミング推定処理は、図10に示すように、起動されると、まず、S510にて、先の音高推定処理のS310にて周波数解析を実行した単位区間それぞれについて、各単位区間における音圧を導出する。その導出される音圧は、先のS310にて導出された振幅スペクトルにおけるスペクトル振幅値の総和である。
続いて、S520では、S510にて導出された単位区間毎の音圧に基づいて、入力音声の時間進行に沿った音圧の推移を表す音圧推移を導出する。これと共に、S520では、導出された音圧推移を移動平均によって平滑化する。ただし、本実施形態における移動平均は、規定数の単位区間を、音圧推移における時間進行に沿って互いに重複するように繰り返し規定して実施される。なお、繰り返し規定される規定数の単位区間は、単位区間を1つずつ変位させることで達成される。これにより、平滑化された後の音圧推移(以下、平滑化音圧推移と称す)は、平滑化される前の音圧推移と同様、全ての単位区間にて対応する音圧を有することになる。
そして、S530では、図11(A)に示すように、平滑化音圧推移において、各単位区間に対応する音圧それぞれから、予め規定された大きさの騒音音圧を減算する。このとき、減算結果が負の値(マイナス)となる音圧については、その値を0とする。
続く、S540では、音圧推移における全ての単位区間の中から、1つの単位区間を選択する。これと共に、S540では、その選択された単位区間における音圧を取得する。このS540では、単位区間は、S540に移行する毎に、処理済音声データの開始から、その処理済音声データの時間進行に沿って順次選択される。
そして、S550では、今回S550に移行するまでの間、第1音圧Pv1としていた音圧を第2音圧Pv2とし、S550へと移行する際にS540にて選択した単位区間における音圧を第1音圧Pv1として設定する。つまり、このS550へと移行すると、処理済音声データの時間進行に沿って取得済みである音圧の中で、音声開始に近い単位区間における音圧を第2音圧Pv2とし、音声終了に近い単位区間における音圧を第1音圧Pv1としている。
さらに、S560では、第1音圧Pv1を第2音圧Pv2にて除する(以下、この演算結果を音圧増加率と称す)。
続く、S570では、S560にて導出された音圧増加率が、予め規定された規定閾値Th以上であるか否かを判定する。そのS570での判定の結果、音圧増加率が規定閾値Th以上であれば、S580へと進む。そして、S580では、発音カウンタを1つインクリメントする。
続く、S590では、発音カウンタの値である発音カウント値が、予め規定された第1閾値以上であるか否かを判定し、判定の結果、発音カウント値が第1閾値未満であれば、S600へと進む。そのS600では、発音カウント値が、第1閾値よりも1つ小さな値として予め規定された第2閾値以上であるか否かを判定する。そのS600での判定の結果、発音カウント値が第2閾値未満であれば、S540へと戻り、S540〜S590のステップを繰り返す。
一方、S600での判定の結果、発音カウント値が第2閾値以上であれば、即ち、S540〜S590のステップを繰り返す際に、第2閾値の値だけ連続してS570にて肯定判定されると、S610へと進む。つまり、S600にて肯定判定されることにより、音圧増加率が規定閾値Th以上となる単位区間が、第1閾値の値に1を加えた数だけ連続する領域(以下、開始判定対象区間と称す)が検出される。
そして、S610では、開始判定対象区間を形成する単位区間のうち、入力音声の時間進行に沿った最初の単位区間を発音開始タイミングとして特定する。これと共に、その特定された発音開始タイミングにおける音圧(以下、発音開始音圧と称す)を取得する。さらに、S610では、それら特定された発音開始タイミング及び取得された発音開始音圧を記憶部28に記憶する。なお、図10〜12では、開始タイミングを「ST」と表記する。
なお、S590での判定の結果、発音カウント値が第1閾値以上であれば、S600及びS610のステップを実行することなく、S630へと進む。つまり、平滑化音圧推移において、発音開始タイミング以降における音圧増加率が、その発音開始タイミングから継続して規定閾値Th以上である場合には、S590にて否定判定される。
ところで、S570での判定の結果、音圧増加率が規定閾値Th未満であれば、S620にて、発音カウンタを初期化(ここでは、0と)する。つまり、規定閾値Th以上の音圧増加率が継続する単位区間の数の計測を終了する。その後、S630へと進む。
そして、S630では、第1音圧Pv1が、直近のS610にて記憶部28に記憶された発音開始音圧(以下、終了判定音圧と称す)以下であるか否かを判定する。その判定の結果、第1音圧Pv1が終了判定音圧未満であれば、S640へと進む。
そのS640では、第1音圧Pv1に対応する単位区間を発音終了タイミングとして記憶部28に記憶する。その後、S650へと進む。なお、図10〜図12では、終了タイミングを「ET」と表記する。
なお、S630での判定の結果、第1音圧Pv1が終了判定音圧以上であれば、S540にて選択された単位区間が発音終了タイミングではないものと判定して、S640を実行することなく、S650へと進む。
そのS650では、処理済音声データに規定された全ての単位区間を、S540にて選択済みであるか否かを判定する。その判定の結果、未選択の単位区間が存在すれば、S540へと戻る。一方、S650での判定の結果、S540にて未選択の単位区間が存在しなければ、S660へと進む。
つまり、図11(B)に示すように、音圧増加率が継続して規定閾値以上となる音圧の単調増加区間が平滑化音圧推移に含まれている場合、開始・終了タイミング推定処理において、S540〜S650のステップを繰り返すことにより、その単調増加区間における最初の単位区間それぞれが発音開始タイミング(図中、第1,第2,第3,第4発音ST)として特定される。ただし、ここで言う単調増加区間とは、開始判定対象区間を形成する単位区間数以上連続する単位区間である。
さらに、S540〜S650のステップを繰り返すことにより、平滑化音圧推移において、処理済音声データの時間進行に沿った発音開始タイミング以降の単位区間の中で、各単位区間に対応する音圧が、最初に終了判定音圧以下となった単位区間が発音終了タイミング(図中、第1,第2発音ET)として特定される。
ここで、図10へと戻り、続くS660では、処理済音声データに設定された単位区間の中で、処理済音声データの時間進行に沿った最終の単位区間を発音終了タイミングとして、記憶部28に記憶する。
続く、S670では、処理済音声データに規定された全ての単位区間の中から、判定対象区間における音声基本周波数f0を取得する。このS670にて音声基本周波数f0が取得される判定対象区間は、予め規定された規定数の単位区間からなるものである。その規定数の単位区間は、処理済音声データにおける時間進行に沿って互いに連続かつ重複するように繰り返し規定される。
そして、S680では、S670にて取得した判定対象区間における音声基本周波数f0に基づき、それらの音声基本周波数f0の変動幅を導出する。このS680にて導出される変動幅は、判定対象区間における最大周波数の音声基本周波数f0と、最小周波数の音声基本周波数f0との差である。
続く、S690では、S680にて導出した変動幅が、予め規定された周波数の幅である規定幅未満であるか否かを判定する。その判定の結果、変動幅が規定幅未満であれば、S700へと進む。
そして、S700では、判定対象区間における全ての音声基本周波数f0を、処理済音声データの時間進行に沿って配置してなる周波数軌跡を導出する。これと共に、その導出された周波数軌跡を平滑化微分して、周波数軌跡における極値を検出する。
続く、S710では、S700での平滑化微分の結果、周波数軌跡における極値が検出されたか否かを判定する。その判定の結果、極値が検出されていれば、S720へと進み。
そのS720では、S700にて検出された判定対象区間内での極値の数を集計する。そして、S730では、S720にて集計された極値の数であるビブラート値が、予め規定された第3閾値以上であるか否かを判定する。そのS730での判定の結果、ビブラート値が第3閾値以上であれば、S740へと進む。
つまり、S670からS730でのステップを実行することにより、音声基本周波数f0の変動幅が規定幅未満である判定対象区間の中で、音声基本周波数f0が増加する増加区間及び減少する減少区間の和が第3閾値以上である判定対象区間が、ビブラート期間として検出される。なお、このビブラート期間とは、音声処理装置20の利用者がビブラートにて発声した期間を意味する。
続く、S740では、S720にて集計されたビブラート値を初期化(ここでは、0と)する。さらに、S750では、記憶部28に記憶されている発音開始タイミングの中から、ビブラート期間内に対応する発音開始タイミング(以下、期間内タイミングと称す)を消去(除去)する。その後、S770へと進む。
なお、S690での判定の結果、判定対象区間内における音声基本周波数f0の変動幅が規定幅以上である場合や、S710での判定の結果、判定対象区間内に極値が含まれていない場合には、S760へと進む。さらに、S730での判定の結果、ビブラート値が第3閾値未満である場合にも、S760へと進む。
つまり、S670にて規定された判定対象区間がビブラート期間でなければ、S760へと進む。そのS760では、ビブラート値を初期化した後、S770へと進む。
そのS770では、処理済音声データに設定された全ての単位区間を、判定対象区間として規定したか否かを判定する。その判定の結果、全ての単位区間が判定対象区間として規定されていなければ、S680へと戻り、新たな判定対象区間を設定して、S680へと進む。そして、全ての単位区間が判定対象区間として規定されるまで、S680〜S770を繰り返す。
例えば、本開始・終了タイミング推定処理を実行することで、図12(A)に示すような発音開始タイミング(第1〜第4発音開始タイミング)、及び発音終了タイミング(第1,第2発音終了タイミング)が特定されると共に、第3発音開始タイミング、及び第4発音開始タイミングを含む判定対象区間をビブラート期間として特定した場合を想定する。このような場合、第3発音開始タイミング及び第4発音開始タイミングは、期間内タイミングとして除去されるため、図12(B)に示すように、第1発音開始タイミングと第2発音開始タイミングとの2つのみが残される。なお、発音終了タイミングは、除去されずに全て残される。
なお、S770での判定の結果、全ての単位区間が判定対象として規定されていれば、本開始・終了タイミング推定処理を終了して、楽曲検索処理のS190へと進む。
つまり、本実施形態の開始・終了タイミング推定処理では、入力音声の音圧推移に基づいて、発音開始タイミングと発音終了タイミングとを検出すると共に、入力音声における音声基本周波数f0の時間進行に沿った推移(即ち、周波数軌跡)から、ビブラート期間を特定する。そして、開始・終了タイミング推定処理では、特定されたビブラート期間内に対応する発音開始タイミングを消去し、ビブラート期間外に対応する発音開始タイミングのみを残す。
〈採譜処理について〉
次に、楽曲検索処理のS190にて起動される採譜処理について説明する。
ここで、図13は、採譜処理の処理手順を示したフローチャートである。
この採譜処理は、図13に示すように、起動されると、まず、S910にて、先の音高推定処理のS310にて周波数解析を実行した全ての単位区間の中から、1つの単位区間を選択する。このS910では、単位区間は、S910へと移行する毎に、処理済音声データの開始から、処理済音声データの時間進行に沿って順次選択される。
続く、S920では、S910にて選択された単位区間が発音開始タイミングであるか否かを判定する。その判定の結果、選択された単位区間が発音開始タイミングでなければ、S930へと進む。
そのS930では、S910にて選択された単位区間が発音終了タイミングであるか否かを判定する。その判定の結果、選択された単位区間が発音終了タイミングでなければ、S910へと戻る。つまり、S910にて選択された単位区間が、発音開始タイミングまたは発音終了タイミングでなければ、S910からS930のステップを繰り返す。
一方、S920での判定の結果、S910にて選択された単位区間が発音開始タイミングであれば、S940へと進む。そのS940では、今回S940に移行する前の間、第1開始タイミングとしていた発音開始タイミングを第2開始タイミングとし、S550へと移行する際にS910にて選択した単位区間(即ち、発音開始タイミング)を第1開始タイミングとして設定する。つまり、このS940へと移行すると、処理済音声データの時間進行に沿った発音開始タイミングの中で、発声開始に近い発音開始タイミングを第2とし、音声終了に近い単位区間における音圧を第1開始タイミングとしている。なお、図13では、開始タイミングをSTと表記する。
続く、S950では、開始取得フラグ(以下、開始取得Fと表記する)が設定済みであるか否かを判定する。その判定の結果、開始取得フラグが未設定であれば、S960へと進む。そのS960では、開始取得フラグを設定する。その後、S910へと戻る。
ところで、S930での判定の結果、S910にて選択された単位区間が発音終了タイミングであれば、S970へと進む。つまり、S970への移行は、処理済音声データの時間進行に沿って、発音開始タイミングと、その発音開始タイミングと対となるべき発音終了タイミングとが取得された場合である。そして、S970では、開始取得フラグを解除してS980へと進む。
なお、S950での判定の結果、開始取得フラグが設定されていれば、S980へと進む。つまり、処理済音声データの時間進行に沿って、2つの発音開始タイミングが、それらの発音開始タイミングの間に発音終了タイミングを挟むことなく存在する場合、S950にて肯定判定される。
そして、S980では、そのS980へと移行した時点で取得済みの発音開始タイミングまたは発音終了タイミングに基づいて、音符期間を特定する。
具体的に、本実施形態では、S930にて肯定判定されることで、S980へと進んだ場合には、第1開始タイミングを音符開始タイミングとし、発音終了タイミングを音符終了タイミングとする。一方、S950にて否定判定されることで、S980へと進んだ場合には、第2開始タイミングを音符開始タイミングとし、第1開始タイミングよりも処理済音声データの時間進行に沿って第1開始タイミングよりも設定時間長だけ前の時点を音符終了タイミングとする。そして、何れの場合にも、それら音符開始タイミングと音符終了タイミングとの間の期間を、音符期間として特定する。なお、本実施形態におけるS980では、特定した音符期間の期間長を音長として導出する。
続く、S990では、S980にて特定された音符期間に対応する全ての単位区間における音高(即ち、音高推定処理のS450にて量子化された音声基本周波数f0、以下、量子化周波数とも称す)を取得する。つまり、音符期間を構成する単位区間の数だけ、量子化周波数が取得される。
そして、S1000では、S990にて取得された量子化周波数に基づき、第1音高周波数、第2音高周波数を特定すると共に、第1音高数、及び第2音高数を集計する。このS1000にて特定される第1音高周波数は、S980にて特定された音符期間に占める割合が最も高い量子化周波数であり、第2音高周波数とは、その音符期間に占める割合が二番目に高い量子化周波数である。なお、本実施形態のS1000では、S980にて特定された音符期間に第2音高周波数が複数存在する場合、周波数が最も高いものを第2音高周波数とする。
そして、S1000にて集計される第1音高数は、S980にて特定された音符期間に含まれる単位区間の中で、第1音高周波数に対応する単位区間の数である。また、第2音高数は、S980にて特定された音符期間に含まれる単位区間の中で、第音高2周波数に対応する単位区間の数である。
次に、S1010では、S1000にて特定された第2音高周波数が、第1音高周波数よりも周波数が高いか否かを判定する。その判定の結果、第2音高周波数が第1音高周波数よりも高ければ、S1020へと進む。
そのS1020では、第2音高数が音高判定閾値以上であるか否かを判定する。この判定に用いられる音高判定閾値は、予め規定された規定割合A(本実施形態では、1/2.3とする)と第1音高数とを乗算した値である。そのS1020での判定の結果、第2音高数が音高判定閾値以上であれば、S1030へと進む。
そして、S1030では、第2音高周波数に対応する音高を、S980にて特定された音符期間における音高(即ち、音符音高)として特定する。そして、その特定された音符音高と、S980にて導出された音長を音符音長とした音声音符データを生成する。その後、S1050へと進む。
ところで、S1010での判定の結果、第2音高周波数が第1音高周波数以下である場合や、S1020での判定の結果、第2音高数が音高判定閾値未満であれば、S1040へと進む。
そのS1040では、第1音高周波数に対応する音高を、S980にて特定された音符期間における音高(即ち、音符音高)として特定する。そして、その特定された音符音高と、S980にて導出された音長を音符音長とした音声音符データを生成する。その後、S1050へと進む。
例えば、S910からS980のステップを繰り返した後、S980にて、図14(A)に示すような第1音符開始タイミングと第1音符終了タイミングとの間の期間を第1音符期間として特定したとする。この特定した第1音符期間における第2音高周波数f02t1_hiは、第1音高周波数f01t1よりも高い周波数である。また、第2音高数は、「3」であり、第1音高数である「5」に規定割合A(本実施形態では、A=1/(2.3))を乗じた値よりも大きい。
この場合、図14(B)に示すように、第1音符期間についての音符音高は、S1030にて、第2音高周波数f02t1_hiに対応する音高(図中、第1音符音高)に特定される。
なお、第2音高周波数f02t1_lowも、第1音符中に占める割合が第2音高周波数f02t1_hiと同一である。しかし、第2音高周波数f02t1_hiの方が高い周波数であるため、第1音符期間の音高は、第2音高周波数f02t1_hiとなる。
さらに、S910からS980のステップを繰り返した後、S980にて、図14(A)に示すような第2音符開始タイミングと第2音符終了タイミングとの間の期間を第2音符期間として特定したとする。この特定した第2音符期間における第2音高周波数f02t2_hiは、第1音高周波数f01t2よりも低い周波数である。また、第2音高数は、「3」であり、第1音高数である「4」に規定割合A(本実施形態では、A=1/(2.3))を乗じた値よりも小さい。
この場合、図14(B)に示すように、第2音符期間についての音符音高(図中、第2音符音高)は、S1040にて、第1音高周波数f01t2に対応する音高に特定される。
続く、S1050では、処理済音声データに規定された全ての単位区間について、S910にて選択済みであるか否かを判定する。その判定の結果、未選択の単位区間が存在すれば、S910へと戻り、S910〜S1050を繰り返す。
一方、S1050での判定の結果、未選択の単位区間が存在しなければ、本採譜処理を終了して、楽曲検索処理のS210へと進む。
つまり、本採譜処理では、処理済音声データの時間進行に沿って、発音開始タイミングと、その発音開始タイミングと対となるべき発音終了タイミングとが存在する場合には、その発音開始タイミングを音符開始タイミングとし、その発音終了タイミングを音符終了タイミングとする。また、処理済音声データの時間進行に沿って、2つの発音開始タイミングが、それらの発音開始タイミングの間に発音終了タイミングを挟むことなく存在する場合には、時間進行に沿った前の発音開始タイミングを音符開始タイミングとし、時間進行に沿った後の発音開始タイミングを音符終了タイミングとする。そして、何れの場合にも、それら音符開始タイミングと音符終了タイミングとの間の期間を、音符期間として特定する。
これに加えて、本採譜処理では、第2音高周波数が第1音高周波数よりも周波数が高く、かつ第2音高数が第1音高数に対して規定割合A以上であれば、第2音高周波数に対応する音高を、その音符期間における音符音高として特定する。これと共に、本採譜処理では、第2音高周波数が第1音高周波数よりも周波数が低い場合、または第2音高数が第1音高数に対して規定割合A未満である場合には、第1音高周波数に対応する音高を、その音符期間における音符音高として特定している。
〈採譜結果照合処理について〉
次に、楽曲検索処理のS210にて起動される採譜結果照合処理について説明する。
ここで、図15は、採譜結果照合処理の処理手順を示したフローチャートである。
この採譜結果照合処理は、図15に示すように、起動されると、S1210では、先の採譜処理にて生成された音声音符データを、処理済音声データの時間進行に沿って連続する予め規定された音符規定数毎に単語化(即ち、グループ化)する。この単語化に際しては、音声音符データの一部が互いに重複するように実施する。以下、単語化された音声音符データそれぞれを、単語音符データと称す。
さらに、S1220では、サーバ40から取得され記憶部28に記憶されている楽曲データに対応する楽曲の中から、単語音符データを基準音符データ(即ち、ガイドメロディ)に照合する楽曲(以下、音符照合楽曲と称す)を1つ決定する。
続く、S1230では、S1210にて生成された全ての単語音符データの中から、1つの単語音符データを取得する。ただし、単語音符データを取得する際には、処理済音声データの時間進行において、音声開始に近い音声音符データを含むものを取得する。
そして、S1240では、S1220にて決定された音符照合楽曲に対応する基準音符データの中から、時間進行に沿って連続する音符規定数分だけ単語化して取得する。この音符規定数分の基準音符データを単語化する際には、基準旋律の時間進行において、その基準旋律の開始に近い構成音についての基準音符データから実行する。以下、S1240にて単語化して取得した音符規定数分の基準音符データを、比較音符データとする。
続いて、S1250では、S1230にて取得した単語音符データを、S1240にて取得した比較音符データに照合する。その照合の結果、単語音符データと比較音符データとが一致すれば(S1260:YES)、S1270へと進む。
そのS1270では、詳しくは後述する音符一致度、及び累積楽曲内一致度を導出すると共に、その導出した累積楽曲内一致度を構成音の番号と対応付けて記憶し、その後、S1280へと進む。この累積楽曲内一致度と対応付けられる構成音の番号は、比較音符データを形成する音符規定数の構成音の中で、基準旋律の時間進行に沿った最初の構成音に対応付けられたものである。
一方、S1250での照合の結果、単語音符データと比較音符データとが一致しなければ(S1260:NO)、S1280へと進む。
そのS1280では、全ての基準音符データを単語化して、その単語化によって生成された比較音符データに、S1230にて取得した単語音符データを照合したか否かを判定する。その判定の結果、全ての比較音符データに単語音符データを照合していなければ、S1240へと戻る。そのようにして移行したS1240では、前回のS1240にて単語化した基準音符データと、基準旋律の時間進行に沿った一部が重複するように音符規定数分だけ、基準音符データを単語化して取得する。すなわち、新たな比較音符データを生成して、S1250へと進む。
これにより、1つの楽曲における全ての基準音符データに対して、1つの単語音符データの照合が完了するまで、S1240からS1280が繰り返し実行される。
なお、S1280での判定の結果、全ての基準音符データを単語化して、その単語化によって生成された比較音符データに、単語音符データを照合していれば、S1290へと進む。そのS1290では、全ての単語音符データを取得して、比較音符データに照合済みであるか否かを判定する。
そのS1290での判定の結果、全ての単語音符データを比較音符データに照合していなければ、S1230へと戻る。そのS1230では、比較音符データに対して未照合の単語音符データの中から、1つの単語音符データを取得する。ただし、単語音符データを取得する際には、入力音声の時間進行において、音声開始に近い音声音符データからなる単語音符データを取得する。
その後、S1290にて肯定判定されるまで、S1230〜S1290までのステップを繰り返す。以下、S1230〜S1290までの一回の流れを、別音符照合サイクルと称す。また、別音符照合サイクルにて、単語音符データを取得してから新たな単語音符データを取得するまでのS1240〜S1280の一回の流れを、同一音符照合サイクルと称す。
この同一音符照合サイクルを繰り返す過程の中で、S1260にて肯定判定されると、S1270へと進む。そのようにして移行したS1270では、今回の別音符照合サイクルにて単語音符データと一致した比較音符データが、前回の別音符照合サイクルにて単語音符データと一致した比較音符データと、基準旋律の時間進行上連続するものであるか否かを判定(以下、音符接続判定とする)する。具体的には、前回の別音符照合サイクルにて音符一致度に対応付けられた構成音の番号の中に、今回S1270へと進んだ際に、単語音符データに一致したと判定された比較音符データを形成する構成音の番号よりも、基準旋律における時間進行上1つ前の構成音であることを示す番号があれば、音符接続判定における判定結果が肯定されたものとする。
その音符接続判定の判定結果が肯定であれば、連続して肯定判定された別音符照合サイクルの回数を「べき指数」として、初期規定値を累乗した値を音符一致度として導出する。一方、音符接続判定の判定結果が否定であれば、初期規定値そのものを音符一致度として導出する。
つまり、音符一致度は、処理済音声データの時間進行に沿った単語音符データが連続して、音符照合楽曲の基準旋律における時間進行に沿った比較音符データに一致するほど、大きな値となる。
さらに、導出された音符一致度の和を楽曲内累積一致度として導出する。
なお、S1290にて肯定判定されると、S1300へと進む。そのS1300では、先のS1220にて決定された音符照合楽曲に対する楽曲内累積一致度の中で、値が最大のものを、その音符照合楽曲に対応する曲名データと対応付けて、記憶部28に記憶する。つまり、S1300にて曲名データと対応付けられる楽曲内累積一致度は、一つの音符照合楽曲に対する別音符照合サイクルの繰り返しにて導出された全楽曲内累積一致度の中で、値が最大のものである。
続く、S1310では、記憶部28に記憶されている楽曲データに対応する全ての楽曲を、音符照合楽曲として決定済みであるか否かを判定する。その判定の結果、全ての楽曲を音符照合楽曲として決定済みでなければ、S1220へと戻る。そのようにして移行したS1220では、音符照合楽曲として未決定の楽曲の中から、新たな楽曲を音符照合楽曲として決定して、S1230へと進む。つまり、S1230からS1310までのステップを、記憶部28に記憶されている全ての楽曲データ中の基準音符データに、単語音符データの照合が完了するまで繰り返す。
なお、S1310での判定の結果、記憶部28に記憶されている全ての楽曲を音符照合楽曲として決定済みであれば、S1320へと進む。
そのS1320では、S1300にて記憶部28に記憶された楽曲内累積一致度の中で、値が最大である楽曲内累積一致度に対応する楽曲を意図予想曲として特定する。さらに、S1320では、その特定された意図予想曲についての曲名データを取得し、取得された曲名データに対応する曲名を表示部22に表示すると共に、その曲名をスピーカ27から音声にて出力する。すなわち、意図予想曲の曲名が報知される。
そして、その後、採譜結果照合処理を終了し、さらに、楽曲検索処理を終了する。
つまり、本実施形態の採譜結果照合処理では、採譜処理にて生成された音声音符データを、楽曲毎に予め用意された基準音符データに照合する。そして、その照合結果として、処理済音声データの時間進行に沿って連続する音声音符データが、音符照合楽曲の基準旋律における時間進行に沿って連続して一致する比較音符データの数が多いほど、大きな値の楽曲内累積一致度を導出する。そして、本実施形態の採譜結果照合処理では、導出された楽曲内累積一致度の中で、値が最も高いものに対応する楽曲を、意図予想曲として検出している。
[実施形態の効果]
以上説明したように、本実施形態の開始・終了タイミング推定処理では、検出された発音開始タイミングの中から、ビブラート期間内に対応する発音開始タイミングを消去し、ビブラート期間外に対応する発音開始タイミングのみを残す。
そして、残された発音開始タイミングと、その発音開始タイミングと対となるべき発音終了タイミングとが存在すれば、採譜処理にて、その発音開始タイミング及び発音終了タイミングをそれぞれ、音符開始タイミング及び音符終了タイミングとしている。一方、残された発音開始タイミングが、2つの発音開始タイミングの間に発音終了タイミングを挟むことなく存在すれば、採譜処理にて、その2つの発音開始タイミングのうち、時間進行に沿った前の発音開始タイミングを音符開始タイミング、時間進行に沿った後の発音開始タイミングを音符終了タイミングとしている。さらに、採譜処理では、音符開始タイミングと、音符終了タイミングとの間の期間を音符期間として推定する。
したがって、本実施形態の音声処理装置20によれば、ビブラート期間内から、当該期間が開始される音符期間が推定されることを防止できる。この結果、本実施形態の音声処理装置20によれば、入力音声における音符期間の推定精度を向上させることができる。
なお、本実施形態の音声処理装置20によれば、入力音声の終端を発音終了タイミングとしているため、処理済音声データにおける最後の発音開始タイミング(即ち、音符開始タイミング)に対しても、音符期間を推定することができる。
[その他の実施形態]
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
例えば、上記楽曲検索処理において実行される音高推定処理は、上記実施形態に記載したものに限らない。上記実施形態における音高推定処理は、処理済音声データに規定された単位区間毎に、その単位区間における入力音声の音声基本周波数f0を検出するものであれば、どのようなものでも良い。
また、上記実施形態の開始・終了タイミング推定処理では、発音終了タイミングの検出を、対となる発音開始タイミング以降にて実行していたが、発音終了タイミングの検出は、これに限るものではなく、例えば、ビブラート期間の終了時点以降にて実施しても良い。
さらに、上記実施形態において、発音終了タイミングの検出は、処理済音声データの時間進行に沿った発音開始タイミング以降であり、かつその発音開始タイミングから予め規定された数の単位区間だけ後の単位区間以降にて実行しても良い。
なお、上記実施形態の開始終了タイミング推定処理におけるS530では、予め規定された規定値を騒音音圧としていたが、騒音音圧は、これに限るものではない。例えば、処理済音声データの時間進行に沿った開始時点から、時間進行に沿った最初の発音開始タイミングまでの平均音圧を騒音音圧としても良いし、規定値と平均音圧とのうち、値が大きいものを騒音音圧としても良い。
ところで、上記実施形態における楽曲検索処理では、マイクロホン24を介して入力された後、記憶部28に記憶された音声データを処理対象としていたが、楽曲検索処理にて処理対象とする音声データは、マイクロホン24を介して入力されたものに限らず、例えば、サーバ40や、他の音声処理装置20から取得した音声データでも良い。この場合、音声処理装置20では、マイクロホン24と、音声入力部25とが省略されていても良い。
それとは反対に、上記実施形態における楽曲検索処理では、音声入力部25にてサンプリングされた直後の音声データを直接処理対象としても良い。つまり、楽曲検索処理では、マイクロホン24を介して入力された音声をリアルタイムに処理していても良い。
また、上記実施形態における音声処理装置20は、スピーカ27と音声出力部26とを備えていなくとも良い。
なお、上記実施形態では、音声処理装置20にて楽曲検索処理を実行していたが、楽曲検索処理は、サーバ40にて実行されていても良い。この場合、音声データが、音声処理装置20からサーバ40に転送される必要がある。
また、楽曲検索システム1は、音声処理装置20のみから構成されていても良い。この場合、楽曲データは、予め記憶部28に記憶されている必要がある。
上記実施形態における楽曲検索処理では、S210にて採譜結果照合処理を実行していたが、楽曲検索処理として実行される内容として、このS210は省略されていても良い。つまり、上記実施形態における音声処理装置20は、いわゆる採譜装置として構成されたものでも良い。
[実施形態と特許請求の範囲との対応関係]
最後に、上記実施形態の記載と、特許請求の範囲の記載との対応関係について説明する。
上記実施形態の開始・終了タイミング推定処理におけるS510,S520を実行することで得られる機能が、本発明の音圧推移特定手段に相当し、S540〜S610を実行することで得られる機能が、本発明の開始タイミング検出手段に相当する。
そして、上記実施形態の開始・終了タイミング推定処理におけるS670〜S730を実行することで得られる機能が、本発明のビブラート期間特定手段に相当し、S750を実行することで得られる機能が、本発明の期間内タイミング除去手段に相当する。
なお、上記実施形態の採譜処理におけるS910〜S980を実行することで得られる機能が、本発明の音符期間推定手段に相当する。
1…楽曲検索システム 20…音声処理装置 21…通信部 22…表示部 23…操作受付部 24…マイクロホン 25…音声入力部 26…音声出力部 27…スピーカ 28…記憶部 30…制御部 31…ROM 32…RAM 33…CPU 40…サーバ 41…記憶装置 42…マイクロコンピュータ

Claims (7)

  1. 時間進行に沿って連続した入力音声から、1つの音符とみなせる期間それぞれを表す音符期間を推定する音声処理装置であって、
    前記入力音声における音圧の時間進行に沿った推移を表す音圧推移を、前記入力音声から特定する音圧推移特定手段と、
    前記音符期間の開始タイミングそれぞれを音符開始タイミングとし、前記音圧推移特定手段にて特定された音圧推移が単調増加である区間にて、前記音圧推移に規定された第1規定期間における音圧の増加率が、時間進行に沿って最初に、予め規定された規定値以上となった時点それぞれを、前記音符開始タイミングとして検出する開始タイミング検出手段と、
    前記入力音声中にてビブラートにより発声された期間をビブラート期間とし、前記入力音声における音高の時間進行に沿った推移を表す音高推移に基づいて、前記ビブラート期間を特定するビブラート期間特定手段と、
    前記開始タイミング検出手段にて検出された音符開始タイミングの中で、前記ビブラート特定手段にて特定されたビブラート期間内に対応する音符開始タイミングを期間内タイミングとし、前記開始タイミング検出手段での検出結果の中から、前記期間内タイミングを除去する期間内タイミング除去手段と、
    前記期間内タイミング除去手段にて前記期間内タイミングが除去された後の前記音符開始タイミングそれぞれと対となる音符終了タイミングを特定すると共に、該対となる音符開始タイミングと音符終了タイミングとの間の期間それぞれを前記音符期間として推定する音符期間推定手段と
    を備えることを特徴とする音声処理装置。
  2. 前記ビブラート期間特定手段は、
    前記音高推移の全体にわたって、かつ時間進行に沿って互いに連続するように規定された複数の期間それぞれを第2規定期間とし、前記第2規定期間での前記音高推移を期間音高推移とし、前記期間音高推移における音高の変動幅が、予め規定された規定幅以下であれば、該期間音高推移にて音高が増加する増加区間、及び音高が減少する減少区間を検出する増減検出手段と、
    前記増減検出手段にて検出された増加区間及び減少区間の数が、予め規定された規定数以上であれば、該期間音高推移に対応する第2規定期間を前記ビブラート期間として特定する期間特定手段と
    を備えることを特徴とする請求項1に記載の音声処理装置。
  3. 前記音符期間推定手段は、
    前記音圧推移における音圧が、前記期間内タイミングが除去された後の前記音符開始タイミング以降、最初に、該音符開始タイミングにおける音圧以下となった音圧変動時点を、該音符開始タイミングと対となる前記音符終了タイミングとして特定する
    ことを特徴とする請求項1または請求項2に記載の音声処理装置。
  4. 前記音符期間推定手段は、
    前記期間内タイミングが除去された後の時間進行に沿って隣接する前記音符開始タイミングのうち、時間進行上、前の音符開始タイミングを前開始タイミングとし、後の音符開始タイミングを後開始タイミングとし、該後開始タイミングから予め設定された設定時間長だけ前の時点を、該前開始タイミングと対となる前記音符終了タイミングとして特定する
    ことを特徴とする請求項1ないし請求項3のいずれか一項に記載の音声処理装置。
  5. 前記音符期間推定手段は、
    前記後開始タイミングよりも時間進行上、前に、前記音圧推移における音圧が、前記前開始タイミングにおける音圧以下となった音圧変動時点が存在すれば、該音圧変動時点を前記前開始タイミングと対となる前記音符終了タイミングとして特定する
    ことを特徴とする請求項4に記載の音声処理装置。
  6. 前記音符期間推定手段は、
    前記入力音声の時間進行に沿った終端を、前記期間内タイミングが除去された後の前記音符開始タイミングのうち、時間進行に沿った最後の音符開始タイミングと対となる前記音符終了タイミングとして特定する
    ことを特徴とする請求項1ないし請求項5のいずれか一項に記載の音声処理装置。
  7. 時間進行に沿って連続した入力音声から、1つの音符とみなせる期間を表す音符期間を推定する音声処理装置として、コンピュータを機能させるためのプログラムであって、
    前記入力音声における音圧の時間進行に沿った推移を表す音圧推移を、前記入力音声から特定する音圧推移特定手順と、
    前記音符期間それぞれの開始タイミングを音符開始タイミングとし、前記音圧推移特定手順にて特定された音圧推移が単調増加である区間にて、前記音圧推移に規定された第1規定期間における音圧の増加率が、時間進行に沿って最初に予め規定された規定値以上となった時点それぞれを、前記音符開始タイミングとして検出する開始タイミング検出手順と、
    前記入力音声中にてビブラートにより発声された期間をビブラート期間とし、前記入力音声における音高の時間進行に沿った推移を表す音高推移に基づいて、前記ビブラート期間を特定するビブラート期間特定手順と、
    前記開始タイミング検出手順にて検出された音符開始タイミングの中で、前記ビブラート特定手順にて特定されたビブラート期間内に対応する音符開始タイミングを期間内タイミングとし、前記開始タイミング検出手順での検出結果の中から、前記期間内タイミングを除去する期間内タイミング除去手順と、
    前記期間内タイミング除去手順にて前記期間内タイミングが除去された後の前記音符開始タイミングそれぞれと対となる音符終了タイミングを特定すると共に、該対となる音符開始タイミングと音符終了タイミングとの間の期間それぞれを前記音符期間として推定する音符期間推定手順とを
    コンピュータに実行させることを特徴とするプログラム。
JP2009217173A 2009-09-18 2009-09-18 音声処理装置、プログラム Active JP5549166B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009217173A JP5549166B2 (ja) 2009-09-18 2009-09-18 音声処理装置、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009217173A JP5549166B2 (ja) 2009-09-18 2009-09-18 音声処理装置、プログラム

Publications (2)

Publication Number Publication Date
JP2011065044A true JP2011065044A (ja) 2011-03-31
JP5549166B2 JP5549166B2 (ja) 2014-07-16

Family

ID=43951327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009217173A Active JP5549166B2 (ja) 2009-09-18 2009-09-18 音声処理装置、プログラム

Country Status (1)

Country Link
JP (1) JP5549166B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014002217A (ja) * 2012-06-15 2014-01-09 Nippon Telegr & Teleph Corp <Ntt> 発生音感知装置、方法、プログラム
CN106997769A (zh) * 2017-03-25 2017-08-01 腾讯音乐娱乐(深圳)有限公司 颤音识别方法及装置
US11205416B2 (en) * 2018-12-04 2021-12-21 Fujitsu Limited Non-transitory computer-read able storage medium for storing utterance detection program, utterance detection method, and utterance detection apparatus

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01219636A (ja) * 1988-02-29 1989-09-01 Nec Home Electron Ltd 自動採譜方法及び装置
JPH01219624A (ja) * 1988-02-29 1989-09-01 Nec Home Electron Ltd 自動採譜方法及び装置
JPH10149160A (ja) * 1996-11-20 1998-06-02 Yamaha Corp 音信号分析装置及び演奏情報発生装置
JP2004334240A (ja) * 1996-11-20 2004-11-25 Yamaha Corp 音信号分析装置及び方法
JP2008268371A (ja) * 2007-04-17 2008-11-06 Yamaha Corp リファレンスデータ編集装置、こぶし評価装置、リファレンスデータ編集方法、こぶし評価方法及びプログラム
JP2008268369A (ja) * 2007-04-17 2008-11-06 Yamaha Corp ビブラート検出装置、ビブラート評価装置、ビブラート検出方法、ビブラート評価方法およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01219636A (ja) * 1988-02-29 1989-09-01 Nec Home Electron Ltd 自動採譜方法及び装置
JPH01219624A (ja) * 1988-02-29 1989-09-01 Nec Home Electron Ltd 自動採譜方法及び装置
JPH10149160A (ja) * 1996-11-20 1998-06-02 Yamaha Corp 音信号分析装置及び演奏情報発生装置
JP2004334240A (ja) * 1996-11-20 2004-11-25 Yamaha Corp 音信号分析装置及び方法
JP2008268371A (ja) * 2007-04-17 2008-11-06 Yamaha Corp リファレンスデータ編集装置、こぶし評価装置、リファレンスデータ編集方法、こぶし評価方法及びプログラム
JP2008268369A (ja) * 2007-04-17 2008-11-06 Yamaha Corp ビブラート検出装置、ビブラート評価装置、ビブラート検出方法、ビブラート評価方法およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014002217A (ja) * 2012-06-15 2014-01-09 Nippon Telegr & Teleph Corp <Ntt> 発生音感知装置、方法、プログラム
CN106997769A (zh) * 2017-03-25 2017-08-01 腾讯音乐娱乐(深圳)有限公司 颤音识别方法及装置
US11205416B2 (en) * 2018-12-04 2021-12-21 Fujitsu Limited Non-transitory computer-read able storage medium for storing utterance detection program, utterance detection method, and utterance detection apparatus

Also Published As

Publication number Publication date
JP5549166B2 (ja) 2014-07-16

Similar Documents

Publication Publication Date Title
CN110808039B (zh) 信息处理装置、信息处理方法以及记录介质
JP6024180B2 (ja) 音声認識装置、音声認識方法、及びプログラム
JP4738697B2 (ja) 音声認識システムのための分割アプローチ
JP5621783B2 (ja) 音声認識システム、音声認識方法および音声認識プログラム
JP5200712B2 (ja) 音声認識装置、音声認識方法及びコンピュータプログラム
US20030200086A1 (en) Speech recognition apparatus, speech recognition method, and computer-readable recording medium in which speech recognition program is recorded
WO2007046267A1 (ja) 音声判別システム、音声判別方法及び音声判別用プログラム
JP6699748B2 (ja) 対話装置、対話方法及び対話用コンピュータプログラム
JP4205824B2 (ja) 歌唱評価装置およびカラオケ装置
JP2018040982A (ja) 発話区間検出装置、発話区間検出方法及び発話区間検出用コンピュータプログラム
JP6690484B2 (ja) 音声認識用コンピュータプログラム、音声認識装置及び音声認識方法
JP5549166B2 (ja) 音声処理装置、プログラム
JP5451982B2 (ja) 支援装置、プログラムおよび支援方法
JP6481939B2 (ja) 音声認識装置および音声認識プログラム
JP4986028B2 (ja) 音声認識装置およびその発声判定方法、発声判定プログラムならびにその記憶媒体
JPH11184491A (ja) 音声認識装置
JP5532880B2 (ja) 音声認識装置
JP2007233148A (ja) 発話区間検出装置及び発話区間検出プログラム
JP2011065043A (ja) 音高推定装置、プログラム
JP2011065041A (ja) 基本周波数推定装置、採譜装置、及びプログラム
JP3578587B2 (ja) 音声認識装置および音声認識方法
JP6098422B2 (ja) 情報処理装置、及びプログラム
JP2011065042A (ja) 音声処理装置、プログラム
JP2002189487A (ja) 音声認識装置および音声認識方法
JP4807261B2 (ja) 音声処理装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140505

R150 Certificate of patent or registration of utility model

Ref document number: 5549166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150