(57)【要約】【課題】ピッチ周波数の推定精度を向上させること。【解決手段】音声処理装置１００は、入力信号に含まれる複数のフレームからスペクトルをそれぞれ算出し、フレームのスペクトルの特徴に基づいて、複数のフレームから、音声らしい音声フレームを判定する。音声処理装置１００は、音声フレームのスペクトルに含まれる複数の極大値を基にして基音を特定し、基音の大きさに基づく学習値を学習し、フレームのスペクトルと学習値とを基にして、フレームのピッチ周波数を検出する。【選択図】図４
2019060976.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
入力信号に含まれる複数のフレームからスペクトルをそれぞれ算出し、
前記フレームのスペクトルの特徴に基づいて、前記複数のフレームから、音声らしい音声フレームを判定し、
前記音声フレームのスペクトルに含まれる複数の極大値を基にして基音を特定し、前記基音の大きさに基づく学習値を学習し、
前記フレームのスペクトルと前記学習値とを基にして、前記フレームのピッチ周波数を検出する
処理を実行させることを特徴とする音声処理プログラム。
【請求項２】
前記音声フレームを判定する処理は、前記フレームのスペクトルを周波数方向に平滑化することで、前記スペクトルのスペクトル包絡を算出し、前記スペクトルと前記スペクトル包絡との差分を基にして、前記フレームが音声フレームであるか否かを判定することを特徴とする請求項１に記載の音声処理プログラム。
【請求項３】
前記スペクトルに基づいてノイズスペクトルを推定する処理を更にコンピュータに実行させ、前記音声フレームを判定する処理は、前記フレームのスペクトルと、前記ノイズスペクトルとの差分に基づいて、前記音声フレームを判定することを特徴とする請求項１に記載の音声処理プログラム。
【請求項４】
前記音声フレームを判定する処理は、前記フレームのスペクトルの自己相関を基にして、前記音声フレームを判定することを特徴とする請求項１に記載の音声処理プログラム。
【請求項５】
前記学習値を学習する処理は、前記音声フレームのスペクトルの所定の帯域内に含まれる複数の極大値のうち最大の極大値を探索し、前記複数の極大値のうち、前記最大の極大値と比較した値の大きさが一定範囲内に含まれ、かつ、最も低域側にある極大値を基にして、前記学習値を学習することを特徴とする請求項１〜４のいずれか一つに記載の音声処理プログラム。
【請求項６】
前記学習値を学習する処理は、複数の前記音声フレームのスペクトルの極大値の平均値または分散を基にして、前記学習値を学習することを特徴とする請求項１〜５のいずれか一つに記載の音声処理プログラム。
【請求項７】
前記ピッチ周波数を検出する処理は、前記フレームのスペクトルの極大値と、前記学習値との差が所定範囲内の場合に、前記極大値に対応する周波数を、前記フレームのピッチ周波数として検出することを特徴とする請求項１〜６のいずれか一つに記載の音声処理プログラム。
【請求項８】
前記音声フレームから基音の周波数を推定する処理を更にコンピュータに実行させ、前記学習値を学習する処理は、前記基音の周波数毎に、前記学習値を学習することを特徴とする請求項１〜４のいずれか一つに記載の音声処理プログラム。
【請求項９】
前記ピッチ周波数を検出する処理は、前記ピッチ周波数の検出対象となるフレームが、前記音声フレームである場合には、前記基音の周波数をピッチ周波数として出力し、前記ピッチ周波数の検出対象となるフレームが、前記音声フレームでない場合には、前記学習値を基にして、前記ピッチ周波数を検出することを特徴とする請求項８に記載の音声処理プログラム。
【請求項１０】
前記音声フレームから基音の周波数を推定する処理を更にコンピュータに実行させ、前記学習値を学習する処理は、前記音声フレームのスペクトルの最大値と、前記基音の周波数に対応する前記スペクトルの大きさとの差分が閾値以上である場合に、前記基音の周波数の整数倍に対応する前記スペクトルのうち、前記最大値に最も近い前記スペクトルのパワーの平均値または分散を前記学習値として学習し、前記学習値に、前記基音の周波数に対する前記学習値の周波数の倍数を対応づけて記憶することを特徴とする請求項１〜４のいずれか一つに記載の音声処理プログラム。
【請求項１１】
前記ピッチ周波数を検出する処理は、前記ピッチ周波数の検出対象となるフレームの極大値が、前記学習値に基づく範囲内に含まれる場合に、前記極大値の周波数を前記倍数で除算することで、前記ピッチ周波数を検出することを特徴とする請求項１０に記載の音声処理プログラム。
【請求項１２】
コンピュータが実行する音声処理方法であって、
入力信号に含まれる複数のフレームからスペクトルをそれぞれ算出し、
前記フレームのスペクトルの特徴に基づいて、前記複数のフレームから、音声らしい音声フレームを判定し、
前記音声フレームのスペクトルに含まれる複数の極大値を基にして基音を特定し、前記基音の大きさに基づく学習値を学習し、
前記フレームのスペクトルと前記学習値とを基にして、前記フレームのピッチ周波数を検出する
処理を実行することを特徴とする音声処理方法。
【請求項１３】
入力信号に含まれる複数のフレームからスペクトルをそれぞれ算出する周波数変換部と、
前記フレームのスペクトルの特徴に基づいて、前記複数のフレームから、音声らしい音声フレームを判定する判定部と、
前記音声フレームのスペクトルに含まれる複数の極大値を基にして基音を特定し、前記基音の大きさに基づく学習値を学習する学習部と、
前記フレームのスペクトルと前記学習値とを基にして、前記フレームのピッチ周波数を検出する検出部と、
を有することを特徴とする音声処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声処理プログラム等に関する。
【背景技術】
【０００２】
近年、多くの企業では、顧客の満足度等を推定し、マーケティングを有利に進めるために、応答者と顧客との会話から、顧客（あるいは、応答者）の感情等に関する情報を獲得したいというニーズがある。人の感情は声に現れることが多く、たとえば、声の高さ（ピッチ周波数）は、人の感情を捉える場合に重要な要素の一つとなる。
【０００３】
ここで、音声の入力スペクトルに関する用語について説明する。図２０は、入力スペクトルに関する用語を説明するための図である。図２０に示すように、一般的に、人間の音声の入力スペクトル４は、極大値が等間隔に表れる。入力スペクトル４の横軸は周波数に対応する軸であり、縦軸は入力スペクトル４の大きさに対応する軸である。
【０００４】
最も低い周波数成分の音を「基音」とする。基音のある周波数をピッチ周波数とする。図２０に示す例では、ピッチ周波数はｆとなる。ピッチ周波数の整数倍に当たる各周波数成分（２ｆ、３ｆ、４ｆ）の音を倍音とする。入力スペクトル４には、基音４ａ、倍音４ｂ，４ｃ，４ｄが含まれる。
【０００５】
続いて、ピッチ周波数を推定する従来技術１の一例について説明する。図２１は、従来技術１を説明するための図（１）である。図２１に示すように、この従来技術では、周波数変換部１０と、相関算出部１１と、探索部１２とを有する。
【０００６】
周波数変換部１０は、入力音声をフーリエ変換することで、入力音声の周波数スペクトルを算出する処理部である。周波数変換部１０は、入力音声の周波数スペクトルを、相関算出部１１に出力する。以下の説明では、入力音声の周波数スペクトルを、入力スペクトルと表記する。
【０００７】
相関算出部１１は、様々な周波数のコサイン波と、入力スペクトルとの相関値を周波数毎にそれぞれ算出する処理部である。相関算出部１１は、コサイン波の周波数と相関値とを対応づけた情報を、探索部１２に出力する。
【０００８】
探索部１２は、複数の相関値の内、最大の相関値に対応づけられたコサイン波の周波数を、ピッチ周波数として出力する処理部である。
【０００９】
図２２は、従来技術１を説明するための図（２）である。図２２において、入力スペクトル５ａは、周波数変換部１０から出力された入力スペクトルである。入力スペクトル５ａの横軸は周波数に対応する軸であり、縦軸はスペクトルの大きさに対応する軸である。
【００１０】
コサイン波６ａ，６ｂは、相関算出部１１が受け付けるコサイン波の一部である。コサイン波６ａは、周波数軸上で周波数ｆ［Ｈｚ］とその倍数にピークを持つコサイン波である。コサイン波６ｂは、周波数軸上で周波数２ｆ［Ｈｚ］とその倍数にピークを持つコサイン波である。
【００１１】
相関算出部１１は、入力スペクトル５ａと、コサイン波６ａとの相関値「０．９５」を算出する。相関算出部１１は、入力スペクトル５ａと、コサイン波６ｂとの相関値「０．４０」を算出する。
【００１２】
探索部１２は、各相関値を比較し、最大値となる相関値を探索する。図２２に示す例では、相関値「０．９５」が最大値となるため、探索部１２は、相関値「０．９５」に対応する周波数ｆ「Ｈｚ」を、ピッチ周波数として出力する。なお、探索部１２は、最大値が所定の閾値未満となる場合には、ピッチ周波数がないと判定する。
【００１３】
ここで、従来技術１には、次のような問題がある。図２３は、従来技術１の問題を説明するための図である。たとえば、倍音成分が小さい音声の場合、相関値が小さくなり、ピッチ周波数を検出することが難しい。図２３において、入力スペクトル５ｂの横軸は周波数に対応する軸であり、縦軸はスペクトルの大きさに対応する軸である。入力スペクトル５ｂでは、倍音３ｂが小さい。
【００１４】
たとえば、相関算出部１１は、入力スペクトル５ｂと、コサイン波６ａとの相関値「０．２０」を算出する。相関算出部１１は、入力スペクトル５ｂと、コサイン波６ｂとの相関値「０．０１」を算出する。
【００１５】
探索部１２は、各相関値を比較し、最大値となる相関値を探索する。また、閾値を「０．３」とする。そうすると、探索部１２は、最大値「０．２０」が閾値未満となるため、ピッチ周波数がないと判定する。
【００１６】
上述した従来技術１の問題を回避する方法として、従来技術２がある。図２４は、従来技術２を説明するための図である。従来技術２では、複数の極大値のうち、最も大きな極大値に対応する周波数をピッチ周波数として検出する。たとえば、図２４に示す例では、入力スペクトル５ｂの周波数「ｆ」に対応する値が、最も大きな極大値となるため、ピッチ周波数を「ｆ」とする。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２０１１−０６５０４１号公報
【特許文献２】特開２００９−０８６４７６号公報
【特許文献３】国際公開第２００６／１３２１５９号
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、上述した従来技術では、ピッチ周波数の推定精度を向上させることができないという問題がある。
【００１９】
図２５は、従来技術２の問題を説明するための図である。図２５の入力スペクトル５ｃは、雑音区間のスペクトルを示すものである。入力スペクトル５ｃの横軸は周波数に対応する軸であり、縦軸はスペクトルの大きさに対応する軸である。従来技術２を用いると、雑音区間の入力スペクトル５ｃで有っても、極大値の比較により、ピッチ周波数を誤検出してしまう。図２５に示す例では、周波数「ｆｎ」に対応する値が、各極大値のうち最大となるため、ピッチ周波数「ｆｎ」が誤検出される。
【００２０】
１つの側面では、本発明は、ピッチ周波数の推定精度を向上させることができる音声処理プログラム、音声処理方法および音声処理装置を提供することを目的とする。
【課題を解決するための手段】
【００２１】
第１の案では、コンピュータに下記の処理を実行させる。コンピュータは、入力信号に含まれる複数のフレームからスペクトルをそれぞれ算出する。コンピュータは、フレームのスペクトルの特徴に基づいて、複数のフレームから、音声らしい音声フレームを判定する。コンピュータは、音声フレームのスペクトルに含まれる複数の極大値を基にして基音を特定し、基音の大きさに基づく学習値を学習する。コンピュータは、フレームのスペクトルと学習値とを基にして、フレームのピッチ周波数を検出する。
【発明の効果】
【００２２】
ピッチ周波数の推定精度を向上させることができる。
【図面の簡単な説明】
【００２３】
【図１】図１は、本実施例１に係る音声処理装置の処理を説明するための図（１）である。
【図２】図２は、本実施例１に係る音声処理装置の処理を説明するための図（２）である。
【図３】図３は、本実施例１に係る音声処理装置の効果の一例を説明するための図である。
【図４】図４は、本実施例１に係る音声処理装置の構成を示す機能ブロック図である。
【図５】図５は、表示画面の一例を示す図である。
【図６】図６は、ハニング窓の一例を示す図である。
【図７】図７は、本実施例１に係る学習部の処理を説明するための図である。
【図８】図８は、本実施例１に係る音声処理装置の処理手順を示すフローチャートである。
【図９】図９は、本実施例２に係る音声処理システムの一例を示す図である。
【図１０】図１０は、本実施例２に係る音声処理装置の構成を示す機能ブロック図である。
【図１１】図１１は、基音周波数毎に学習される学習値を補足説明するための図である。
【図１２】図１２は、本実施例２に係る音声処理装置の処理手順を示すフローチャートである。
【図１３】図１３は、本実施例３に係る音声処理システムの一例を示す図である。
【図１４】図１４は、本実施例３に係る収録サーバの構成を示す機能ブロック図である。
【図１５】図１５は、本実施例３に係る音声処理装置の構成を示す機能ブロック図である。
【図１６】図１６は、本実施例３に係る学習部の処理を補足説明するための図（１）である。
【図１７】図１７は、本実施例３に係る学習部の処理を補足説明するための図（２）である。
【図１８】図１８は、本実施例３に係る音声処理装置の処理手順を示すフローチャートである。
【図１９】図１９は、音声処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図２０】図２０は、入力スペクトルに関する用語を説明するための図である。
【図２１】図２１は、従来技術１を説明するための図（１）である。
【図２２】図２２は、従来技術１を説明するための図（２）である。
【図２３】図２３は、従来技術１の問題を説明するための図である。
【図２４】図２４は、従来技術２を説明するための図である。
【図２５】図２５は、従来技術２の問題を説明するための図である。
【発明を実施するための形態】
【００２４】
以下に、本願の開示する音声処理プログラム、音声処理方法および音声処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００２５】
図１および図２は、本実施例１に係る音声処理装置の処理を説明するための図である。音声処理装置は、入力信号に含まれる複数のフレームからスペクトルを算出し、スペクトルの特徴を基にして、音声らしいフレームを特定する。以下の説明では、音声らしいフレームを適宜、「音声フレーム」と表記する。
【００２６】
図１のスペクトル７は、音声らしいと判定された音声フレームに対応するスペクトルである。スペクトル７の横軸は周波数に対応する軸であり、縦軸はスペクトル７の大きさに対応する軸である。音声処理装置は、スペクトル７の基音７ａの大きさを学習値として学習する。たとえば、音声処理装置は、過去の複数の音声フレームを基にして、学習値を更新する。
【００２７】
図２のスペクトル８は、ピッチ周波数の検出対象となるフレームのスペクトルである。スペクトル８の横軸は周波数に対応する軸であり、縦軸はスペクトル８の大きさに対応する軸である。音声処理装置は、スペクトル８の基音８ａの大きさと、学習値とを比較して、基音８ａの大きさが、学習値を基準とする所定範囲Ｒ１に含まれているか否かを判定する。
【００２８】
音声処理装置は、基音８ａの大きさが所定範囲Ｒ１に含まれている場合には、基音８ａに対応する周波数「ｆ［Ｈｚ］」を、ピッチ周波数の推定値として出力する。これにより、ピッチ周波数の推定精度を向上させることができる。
【００２９】
図３は、本実施例１に係る音声処理装置の効果の一例を説明するための図である。図３に示すスペクトル５ｃは、図２５で説明した雑音区間のスペクトル５ｃに対応するものである。音声処理装置は、スペクトル５ｃと、学習値を基準とする所定範囲Ｒ１とを比較すると、所定範囲Ｒ１に含まれる部分が、スペクトル５ｃには存在しないため、ピッチ周波数の推定値を「なし」と判定する。これにより、図２５で説明したように、雑音区間の入力スペクトル５ｃから、誤ってピット周波数を検出することを抑止できる。
【００３０】
図３に示すスペクトル５ｂは、図２３で説明した倍音成分の小さいスペクトル５ｂに対応するものである。音声処理装置は、スペクトル５ｂと、学習値を基準とする所定範囲Ｒ１とを比較すると、基音３ａが所定範囲Ｒ１に含まれているため、基音３ａに対応する周波数「ｆ［Ｈｚ］」を、ピッチ周波数の推定値とする。これにより、図２３で説明したように、倍音成分が小さいことによる、ピッチ周波数が検出されないという問題を解消することができる。
【００３１】
次に、本実施例１に係る音声処理装置の構成の一例について説明する。図４は、本実施例１に係る音声処理装置の構成を示す機能ブロック図である。図４に示すように、音声処理装置１００は、マイク５０ａと、表示装置５０ｂに接続される。
【００３２】
マイク５０ａは、話者から集音した音声（または音声以外）の信号を、音声処理装置１００に出力する。以下の説明では、マイク５０ａが集音した信号を「入力信号」と表記する。たとえば、話者が発話している間に集音した入力信号には、音声が含まれる。話者が発話していない間に集音した入力信号には、背景雑音等が含まれる。
【００３３】
表示装置５０ｂは、音声処理装置１００が検出したピッチ周波数の情報を表示する表示装置である。表示装置５０ｂは、液晶ディスプレイやタッチパネル等に対応する。図５は、表示画面の一例を示す図である。たとえば、表示装置５０ｂは、時間とピッチ周波数との関係を示す表示画面６０を表示する。図５において、横軸は時間に対応する軸であり、縦軸は、ピッチ周波数に対応する軸である。
【００３４】
図４の説明に戻る。音声処理装置１００は、ＡＤ変換部１１０、周波数変換部１２０、判定部１３０、学習部１４０、記憶部１５０、検出部１６０を有する。
【００３５】
ＡＤ変換部１１０は、マイク５０ａから入力信号を受け付け、ＡＤ（Analog  to  Digital）変換を実行する処理部である。具体的には、ＡＤ変換部１１０は、入力信号（アナログ信号）を、入力信号（デジタル信号）に変換する。ＡＤ変換部１１０は、入力信号（デジタル信号）を、周波数変換部１２０に出力する。以下の説明では、ＡＤ変換部１１０から出力される入力信号（デジタル信号）を単に入力信号と表記する。
【００３６】
周波数変換部１２０は、入力信号ｘ（ｎ）を所定長の複数のフレームに分割し、各フレームに対してＦＦＴ（Fast  Fourier  Transform）を行うことで、各フレームのスペクトルＸ（ｆ）を算出する。ここで、「ｘ（ｎ）」はサンプル番号ｎの入力信号を示す。「Ｘ（ｆ）」は、周波数ｆのスペクトルを示す。
【００３７】
周波数変換部１２０は、式（１）に基づいて、フレームのパワースペクトルＰ（ｌ，ｋ）を算出する。式（１）において、変数「ｌ」はフレーム番号を示し、変数「ｋ」は周波数番号を示す。以下の説明では、パワースペクトルを「入力スペクトル」と表記する。周波数変換部１２０は、入力スペクトルの情報を、判定部１３０、学習部１４０、検出部１６０に出力する。
【００３８】
【数１】
2019060976.tif 000003
【００３９】
判定部１３０は、フレームの入力スペクトルの特徴を基にして、複数のフレームから音声らしいフレームを判定する処理部である。以下において、音声らしいフレームを「音声フレーム」と表記する。判定部１３０は、判定結果を学習部１４０に出力する。判定部１３０は、スペクトル包絡を算出する処理、入力スペクトルとスペクトル包絡との差分和を算出する処理、音声らしさを判定する処理を順に行う。
【００４０】
判定部１３０が、スペクトル包絡を算出する処理について説明する。判定部１３０は、入力スペクトルＰ（ｌ，ｋ）に対して、ハニング窓等の分析窓を乗算することで、入力スペクトルＰ（ｌ，ｋ）を平滑化したスペクトル包絡Ｐ’（ｌ，ｋ）を求める。ハニング窓Ｗ（ｍ）は、式（２）により示される。式（２）に示す変数「ｍ」は、ハニング窓の「ｂｉｎ」を示すものである。Ｑはハニング窓のフィルタ長を示すものある。たとえば、Ｑ＝３３とすると、ｍには、１から３３までの値が入力される。
【００４１】
【数２】
2019060976.tif 000004
【００４２】
図６は、ハニング窓の一例を示す図である。図６では、フィルタ長Ｑを３３とした場合の、ハニング窓である。図６において、横軸はｍ（ｂｉｎ）に対応する軸であり、縦軸はハニング窓Ｗ（ｍ）の値に対応する軸である。
【００４３】
判定部１３０は、式（３）に基づいて、スペクトル包絡Ｐ’（ｌ，ｋ）を算出する。
【００４４】
【数３】
2019060976.tif 000005
【００４５】
判定部１３０が、入力スペクトルとスペクトル包絡との差分和を算出する処理について説明する。判定部１３０は、式（４）に基づいて、入力スペクトルとスペクトル包絡との差分和Ｓ（ｌ）を算出する。式（４）において、ＭＬは、差分和の算出帯域下限を示す。ＭＨは、差分和の算出帯域上限を示す。なお、式（４）に示すように、判定部１３０は、入力スペクトルＰ（ｌ，ｋ）とスペクトル包絡Ｐ’（ｌ，ｋ）との差分が負の値である場合には、０を加算する。
【００４６】
【数４】
2019060976.tif 000006
【００４７】
判定部１３０が、音声らしさを判定する処理について説明する。たとえば、判定部１３０は、式（５）に基づいて、フレーム番号「ｌ」のフレームが、音声フレームであるか否かを判定する。
【００４８】
【数５】
2019060976.tif 000007
【００４９】
判定部１３０は、差分和Ｓ（ｌ）が、閾値ＴＨ１以上である場合には、フレーム番号「ｌ」のフレームが音声フレームであると判定し、判定結果Ｌ（ｌ）に「１」を設定する。一方、判定部１３０は、差分和Ｓ（ｌ）が、閾値ＴＨ１未満である場合には、フレーム番号「ｌ」のフレームが音声フレームでないと判定し、判定結果Ｌ（ｌ）に「０」を設定する。判定部１３０は、判定結果Ｌ（ｌ）の情報を、学習部１４０に出力する。
【００５０】
学習部１４０は、音声フレームに含まれる複数の極大値の一部を基音として特定し、基音の大きさに基づく学習値を学習する処理部である。学習部１４０は、学習した学習値の情報を、学習値情報１５０ａに登録する。学習部１４０は、判定部１３０から判定結果Ｌ（ｌ）を取得し、取得した判定結果Ｌ（ｌ）の値が「１」で有る場合に、フレーム番号「ｌ」のフレームを、音声フレームとする。
【００５１】
学習部１４０は、音声フレームの入力スペクトルを周波数変換部１２０から取得する。学習部１４０は、音声フレームの入力スペクトルの極大値ＬＭｊ（ｊ＝１、２、・・・）と、最大値Ｍを探索する。たとえば、学習部１４０は、入力スペクトルの傾きを算出し、傾きがマイナスからプラスに変化する周波数におけるＰ（ｌ，ｋ）を、極大値ＬＭｊとする。学習部１４０は、極大値ＬＭｊのうち、最大の値をもつ周波数におけるＰ（ｌ，ｋ）を、最大値Ｍとする。
【００５２】
学習部１４０は、極大値ＬＭｊおよび最大値Ｍを基にして、音声フレームの入力スペクトルの基音Ｂ（ｌ）を特定する。学習部１４０は、極大値ＬＭｊのうち、「最大値Ｍ−閾値ＴＨ２」よりも大きい極大値ＬＭｊを特定し、特定した極大値のうち、対応する周波数が最も低い極大値ＬＭｊを、基音Ｂ（ｌ）とする。
【００５３】
図７は、本実施例１に係る学習部の処理を説明するための図である。図７において、横軸は周波数に対応する軸であり、縦軸は入力スペクトルの大きさに対応する軸である。図７に示す例では、学習部１４０は、音声フレームの入力スペクトル１１から、極大値として、極大値ＬＭ１、ＬＭ２、ＬＭ３、ＬＭ４、ＬＭ５、ＬＭ６を特定する。また、最大値Ｍは、「極大値ＬＭ２」となる。また、「最大値Ｍ−閾値ＴＨ２」よりも大きい極大値ＬＭｊは、ＬＭ２、ＬＭ３、ＬＭ４、ＬＭ５となる。学習部１４０は、ＬＭ２、ＬＭ３、ＬＭ４、ＬＭ５のうち、周波数が最も低い「ＬＭ２」を、基音として特定する。
【００５４】
学習部１４０は、判定結果Ｌ（ｌ）＝１のとき、集音Ｂ（ｌ）の学習値として、平均値Ｂ１（ｌ）、分散Ｂ２（ｌ）２を算出する。たとえば、学習部１４０は、式（６）に基づいて、平均値Ｂ１（ｌ）を算出する。学習部１４０は、式（７）に基づいて、分散Ｂ２（ｌ）２を算出する。学習部１４０は、算出した平均値Ｂ１（ｌ）、分散Ｂ２（ｌ）２の情報を、学習値情報１５０ａに登録する。
【００５５】
【数６】
2019060976.tif 000008
【００５６】
【数７】
2019060976.tif 000009
【００５７】
記憶部１５０は、学習値情報１５０ａを有する。記憶部１５０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００５８】
学習値情報１５０ａは、学習部１４０により算出される平均値Ｂ１（ｌ）、分散Ｂ２（ｌ）２の情報に対応する。
【００５９】
検出部１６０は、学習値情報１５０ａと、入力スペクトルの最大値とを基にして、ピッチ周波数を検出する処理部である。たとえば、検出部１６０は、入力スペクトルに含まれる極大値のうち、最大の値を持つものを最大値Ｍとして特定する。また、検出部１６０は、最大値Ｍに対応する周波数を「Ｆ」とする。
【００６０】
検出部１６０は、式（８）に基づいてピッチ周波数（Ｆ０）を検出する。たとえば、検出部１６０は、最大値Ｍが「Ｂ１（ｌ）−Ｂ２（ｌ）」よりも大きい場合には、ピッチ周波数を「Ｆ」とする。一方、検出部１６０は、最大値Ｍが「Ｂ１（ｌ）−Ｂ２（ｌ）」以下である場合には、ピッチ周波数を「０（ピッチ周波数がないことを示す値）」とする。
【００６１】
【数８】
2019060976.tif 000010
【００６２】
検出部１６０は、上記処理を繰り返し実行することで、各フレームに対するピッチ周波数を検出する。検出部１６０は、時間とピッチ周波数とを対応づけた表示画面の情報を生成し、表示装置５０ｂに表示させてもよい。たとえば、検出部１６０は、フレーム番号「ｌ」から、時間を推定する。
【００６３】
次に、本実施例１に係る音声処理装置１００の処理手順の一例について説明する。図８は、本実施例１に係る音声処理装置の処理手順を示すフローチャートである。図８に示すように、音声処理装置１００は、マイク５０ａから入力信号を取得する（ステップＳ１０１）。
【００６４】
音声処理装置１００の周波数変換部１２０は、入力信号のフレームに対して周波数変換を実行することで、入力スペクトルを算出する（ステップＳ１０２）。音声処理装置１００の判定部１３０は、音声らしさを判定する（ステップＳ１０３）。音声処理装置１００は、音声らしいと判定した場合には（ステップＳ１０４，Ｙｅｓ）、ステップＳ１０５に移行する。一方、音声処理装置１００は、音声らしいと判定していない場合には（ステップＳ１０４，Ｎｏ）、ステップＳ１０６に移行する。
【００６５】
音声処理装置１００の学習部１４０は、音声らしいと判定されたフレームを基にして、基音の学習値を更新する（ステップＳ１０５）。音声処理装置１００の検出部１６０は、基音の学習値を基にして、ピッチ周波数を推定する（ステップＳ１０６）。
【００６６】
音声処理装置１００は、音声終了でない場合には（ステップＳ１０７，Ｎｏ）、ステップＳ１０１に移行する。一方、音声処理装置１００は、音声終了の場合には（ステップＳ１０７，Ｙｅｓ）、処理を終了する。
【００６７】
次に、本実施例１に係る音声処理装置１００の効果について説明する。音声処理装置１００は、入力信号に含まれる各フレームの音声らしさを判定し、音声らしいと判定した音声フレームの基音の大きさを学習値として学習する。そして、音声処理装置１００は、ピッチ周波数の検出対象となるフレームから検出した入力スペクトルの基音の大きさと、学習値とを基にして、ピッチ周波数を検出する。これにより、ピッチ周波数の推定精度を向上させることができる。
【００６８】
音声処理装置１００は、フレームの入力スペクトルを周波数方向に平滑化することで、スペクトル包絡を算出し、入力スペクトルとスペクトル包絡との差分和を基にして、フレームが音声フレームであるか否かを判定する。このように、入力スペクトルとスペクトル包絡との差分和を用いることで、音声らしいフレームを精度よく検出することができる。
【００６９】
音声処理装置１００は、複数の音声フレームの入力スペクトルの極大値の平均値または分散を基にして、学習値を学習する。このように、極大値の平均値および分散を学習値として用いることで、検出対象とする基音の大きさに幅を持たせることができるため、ピッチ周波数の検出漏れを抑止することができる。
【００７０】
音声処理装置１００は、音声フレームの入力スペクトルの所定の帯域内に含まれる複数の極大値のうち最大の極大値を探索する。また、音声処理装置１００は、複数の極大値のうち、最大の極大値と比較した値の大きさが一定範囲内に含まれ、かつ、最も低域側にある極大値を基にして、学習値を学習する。これにより、音声フレームに含まれる基音を適切に検出することができる。たとえば、図７で、最大値ＬＭ１等が基音として検出されてしまうことを抑止でき、極大値ＬＭ２を基音として検出することができる。
【実施例２】
【００７１】
図９は、本実施例２に係る音声処理システムの一例を示す図である。図９に示すように、この音声処理システムは、端末装置２ａ，２ｂ、ＧＷ（Gate  Way）１５、収録機器２０、クラウド網３０を有する。端末装置２ａは、電話網１５ａを介して、ＧＷ１５に接続される。収録機器２０は、個別網１５ｂを介して、ＧＷ１５、端末装置２ｂ、クラウド網３０に接続される。
【００７２】
クラウド網３０は、音声ＤＢ（Data  Base）３０ａと、ＤＢ３０ｂと、音声処理装置２００とを有する。音声処理装置２００は、音声ＤＢ３０ａと、ＤＢ３０ｂとに接続される。なお、音声処理装置２００の処理は、クラウド網３０上の複数のサーバ（図示略）によって実行されてもよい。
【００７３】
端末装置２ａは、マイク（図示略）により集音された話者１ａの音声（または音声以外）の信号を、ＧＷ１５を介して、収録機器２０に送信する。以下の説明では、端末装置２ａから送信される信号を、第１信号と表記する。
【００７４】
端末装置２ｂは、マイク（図示略）により集音された話者１ｂの音声（または音声以外）の信号を、収録機器２０に送信する。以下の説明では、端末装置２ｂから送信される信号を、第２信号と表記する。
【００７５】
収録機器２０は、端末装置２ａから受信する第１信号を収録し、収録した第１信号の情報を、音声ＤＢ３０ａに登録する。収録機器２０は、端末装置２ｂから受信する第２信号を収録し、収録した第２信号の情報を、音声ＤＢ３０ａに登録する。
【００７６】
音声ＤＢ３０ａは、第１バッファ（図示略）と、第２バッファ（図示略）とを有する。たとえば、音声ＤＢ３０ａは、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００７７】
第１バッファは、第１信号の情報を保持するバッファである。第２バッファは、第２信号の情報を保持するバッファである。
【００７８】
ＤＢ３０ｂは、音声処理装置２００による、ピッチ周波数の推定結果を格納する。たとえば、ＤＢ３０ｂは、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００７９】
音声処理装置２００は、音声ＤＢ３０ａから第１信号を取得し、話者１ａの発話のピッチ周波数を推定し、推定結果をＤＢ３０ｂに登録する。音声処理装置２００は、音声ＤＢ３０ａから第２信号を取得し、話者１ｂの発話のピッチ周波数を推定し、推定結果をＤＢ３０ｂに登録する。以下の音声処理装置２００に関する説明では、音声処理装置２００が、音声ＤＢ３０ａから第１信号を取得し、話者１ａの発話のピッチ周波数を推定する処理について説明する。なお、音声処理装置２００が、音声ＤＢ３０ａから第２信号を取得し、話者１ｂの発話のピッチ周波数を推定する処理は、音声ＤＢ３０ａから第１信号を取得し、話者１ａの発話のピッチ周波数を推定する処理に対応するため、説明を省略する。以下の説明では、第１信号を「入力信号」と表記する。
【００８０】
図１０は、本実施例２に係る音声処理装置の構成を示す機能ブロック図である。図１０に示すように、この音声処理装置２００は、取得部２０１、ＡＤ変換部２０２、周波数変換部２０３、ノイズ推定部２０４、判定部２０５、基音周波数推定部２０６を有する。また、音声処理装置２００は、学習部２０７、記憶部２０８、検出部２０９、登録部２１０を有する。
【００８１】
取得部２０１は、音声ＤＢ３０ａから入力信号を取得する処理部である。取得部２０１は、取得した入力信号をＡＤ変換部２０２に出力する。
【００８２】
ＡＤ変換部２０２は、取得部２０１から入力信号を取得し、取得した入力信号に対してＡＤ変換を実行する処理部である。具体的には、ＡＤ変換部２０２は、入力信号（アナログ信号）を、入力信号（デジタル信号）に変換する。ＡＤ変換部２０２は、入力信号（デジタル信号）を、周波数変換部２０３に出力する。以下の説明では、ＡＤ変換部２０２から出力される入力信号（デジタル信号）を単に入力信号と表記する。
【００８３】
周波数変換部２０３は、入力信号を基にして、フレームの入力スペクトルを算出する処理部である。周波数変換部２０３が、フレームの入力スペクトルを算出する処理は、周波数変換部１２０の処理に対応するため、説明を省略する。周波数変換部２０３は、入力スペクトルの情報を、ノイズ推定部２０４、判定部２０５、基音周波数推定部２０６、学習部２０７、検出部２０９に出力する。
【００８４】
ノイズ推定部２０４は、入力スペクトルに含まれるノイズスペクトルＮ（ｌ，ｋ）を推定する処理部である。たとえば、ノイズ推定部２０４は、文献１（S.F.Boll,“Suppression  of  acoustic  noise  in  speech  using  spectral  subtraction,”IEEE  Trans.  Acoust.,Speech,Signal  Process.,vol.27,pp.113-120,Apr.1979.）に記載された技術を用いて、ノイズスペクトルを推定する。ノイズ推定部２０４は、推定したノイズスペクトルの情報を、判定部２０５に出力する。
【００８５】
判定部２０５は、フレームの入力スペクトルとノイズスペクトルとを基にして、フレームが音声らしいフレームであるか否かを判定する処理部である。以下の説明では、音声らしいフレームを「音声フレーム」と表記する。判定部２０５は、入力スペクトルとノイズスペクトルとの差分和を算出する処理、音声らしさを判定する処理を順に行う。
【００８６】
判定部２０５が、入力スペクトルとノイズスペクトルとの差分和を算出する処理について説明する。判定部２０５は、式（９）に基づいて、入力スペクトルとノイズスペクトルとの差分和Ｓ’（ｌ）を算出する。式（９）において、ＭＬは、差分和の算出帯域下限を示す。ＭＨは、差分和の算出帯域上限を示す。なお、式（９）に示すように、判定部２０５は、入力スペクトルＰ（ｌ，ｋ）とノイズスペクトルＮ（ｌ，ｋ）との差分が負の値である場合には、０を加算する。
【００８７】
【数９】
2019060976.tif 000011
【００８８】
判定部２０５が、音声らしさを判定する処理について説明する。たとえば、判定部２０５は、式（１０）に基づいて、フレーム番号「ｌ」のフレームが、音声フレームであるか否かを判定する。
【００８９】
【数１０】
2019060976.tif 000012
【００９０】
判定部２０５は、差分和Ｓ’（ｌ）が、閾値ＴＨ３以上である場合には、フレーム番号「ｌ」のフレームが音声フレームであると判定し、判定結果Ｌ（ｌ）に「１」を設定する。一方、判定部２０５は、差分和Ｓ’（ｌ）が、閾値ＴＨ３未満である場合には、フレーム番号「ｌ」のフレームが音声フレームでないと判定し、判定結果Ｌ（ｌ）に「０」を設定する。判定部２０５は、判定結果Ｌ（ｌ）の情報を、基音周波数推定部２０６、学習部２０７、検出部２０９に出力する。
【００９１】
基音周波数推定部２０６は、判定部２０５から取得する判定結果Ｌ（ｌ）が「１」である場合に、フレーム番号「ｌ」のフレーム（音声フレーム）に基づいて、基音の周波数を推定する処理部である。たとえば、基音周波数推定部２０６は、音声フレームに含まれる音声の階調構造を利用して、基音の周波数を算出する。以下の説明では、基音周波数推定部２０６が算出した音声フレームの基音の周波数を「基音周波数Ｆｓ０」と表記する。基音周波数は、基音の周波数に対応する。
【００９２】
たとえば、基音周波数推定部２０６は、文献２（SWIPE:A  Sawtooth  Waveform  Inspired  Pitch  Estimator  for  Speech  And  Music,",  University  of  Florida,2007）に基づいて、音声フレームから、基音周波数Ｆｓ０を算出する。基音周波数推定部２０６は、基音周波数Ｆｓ０の情報を、学習部２０７、検出部２０９に出力する。
【００９３】
学習部２０７は、判定部２０５から取得する判定結果Ｌ（ｌ）が「１」である場合に、基音周波数推定部２０６から取得する基音周波数Ｆｓ０を基にして、学習値を学習する処理部である。ここでは、基音周波数Ｆｓ０に対応する基音Ｂ’（ｌ）とする。また、Ｂ’（ｌ）の大きさを、入力スペクトルの値Ｐ（ｌ，Ｆｓ０）とする（Ｂ’（ｌ）＝Ｐ（ｌ，Ｆｓ０）。
【００９４】
学習部２０７は、判定結果Ｌ（ｌ）＝１のとき、Ｂ’（ｌ）の平均値を、基音周波数毎に学習する。
【００９５】
学習部２０７は、「基音周波数Ｆｓ０＜５０Ｈｚ」となる場合に、式（１１）に基づいて、学習値Ｂａ（ｌ）を算出する。
【００９６】
【数１１】
2019060976.tif 000013
【００９７】
学習部２０７は、「５０Ｈｚ≦基音周波数Ｆｓ０＜１００Ｈｚ」となる場合に、式（１２）に基づいて、学習値Ｂｂ（ｌ）を算出する。
【００９８】
【数１２】
2019060976.tif 000014
【００９９】
学習部２０７は、「１００Ｈｚ≦基音周波数Ｆｓ０＜１５０Ｈｚ」となる場合に、式（１３）に基づいて、学習値Ｂｃ（ｌ）を算出する。
【０１００】
【数１３】
2019060976.tif 000015
【０１０１】
図１１は、基音周波数毎に学習される学習値を補足説明するための図である。図１１の横軸は周波数に対応する軸であり、縦軸は学習値の大きさに対応する軸である。図１１に示すように、各帯域に、それぞれ学習値Ｂａ〜Ｂｃが設定される。学習部２０７は、分散を基にして、各学習値Ｂａ〜Ｂｃを基準とする所定範囲Ｒａ〜Ｒｃを設定してもよい。
【０１０２】
ここでは一例として、学習部２０７が、５０Ｈｚ〜１５０Ｈｚにおける学習値Ｂａ（ｌ）からＢｃ（ｌ）を算出する場合について説明したが、１５０Ｈｚ以上の帯域においても、同様に学習値を学習してもよい。
【０１０３】
学習部２０７は、各帯域の学習値Ｂａ〜Ｂｃの情報を、学習値情報２０８ａに登録する。また、学習部２０７は、学習値Ｂａ〜Ｂｃに対応する所定範囲Ｒａ〜Ｒｃの情報を、学習値情報２０８ａに登録してもよい。
【０１０４】
図１０の説明に戻る。記憶部２０８は、学習値情報２０８ａを有する。記憶部２０８は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【０１０５】
学習値情報２０８ａは、学習部２０７により算出される各帯域の学習値Ｂａ〜Ｂｃの情報を保持する。また、学習値情報２０８ａは、各学習値Ｂａ、Ｂｂ、Ｂｃに対応する所定範囲Ｒａ〜Ｒｃの情報を保持していてもよい。
【０１０６】
検出部２０９は、基音周波数Ｆｓ０と、学習値情報２０８ａと、入力スペクトルの最大値とを基にして、ピッチ周波数を検出する処理部である。検出部２０９は、検出したピッチ周波数の情報を、登録部２１０に出力する。
【０１０７】
たとえば、検出部２０９は、入力スペクトルに含まれる複数の極大値のうち、最大の値を持つものを最大値Ｍとして特定する。また、検出部２０９は、最大値Ｍに対応する周波数を「Ｆ」とする。
【０１０８】
検出部２０９は、式（１４）に基づいてピッチ周波数（Ｆ０）を検出する。たとえば、検出部２０９は、判定部２０５の判定結果Ｌ（ｌ）＝１である場合には、基音周波数推定部２０６から受け付ける基音周波数Ｆｓ０を、ピッチ周波数として検出する。
【０１０９】
【数１４】
2019060976.tif 000016
【０１１０】
検出部２０９は、判定部２０５の判定結果Ｌ（ｌ）＝０である場合には、最大値Ｍが「Ｂｘ（ｌ）−ＴＨＡ」よりも大きいか否かを判定する。検出部２０９は、判定結果Ｌ（ｌ）＝０であり、かつ、最大値Ｍが「Ｂｘ（ｌ）−ＴＨＡ」よりも大きい場合には、最大値Ｍに対応する周波数を「Ｆ」をピッチ周波数として検出する。一方、検出部２０９は、判定結果Ｌ（ｌ）＝０であるが、最大値Ｍが「Ｂｘ（ｌ）−ＴＨＡ」よりも大きくない場合には、ピッチ周波数を「０（ピッチ周波数がないことを示す値）」として検出する。
【０１１１】
ここで、Ｂｘ（ｌ）は、「Ｆ」に応じて異なるものとなる。たとえば、「Ｆ＜５０Ｈｚ」となる場合には、Ｂｘ（ｌ）＝Ｂａ（ｌ）となる。また、最大値Ｍが「Ｂａ（ｌ）−ＴＨＡ」よりも大きいとは、最大値Ｍが、図１１に示したＲａに含まれることを示す。
【０１１２】
「５０Ｈｚ≦Ｆ＜１００Ｈｚ」となる場合には、Ｂｘ（ｌ）＝Ｂｂ（ｌ）となる。また、最大値Ｍが「Ｂｂ（ｌ）−ＴＨＡ」よりも大きいとは、最大値Ｍが、図１１に示したＲｂに含まれることを示す。
【０１１３】
「１００Ｈｚ≦Ｆ＜１５０Ｈｚ」となる場合には、Ｂｘ（ｌ）＝Ｂｃ（ｌ）となる。また、最大値Ｍが「Ｂｃ（ｌ）−ＴＨＡ」よりも大きいとは、最大値Ｍが、図１１に示したＲｃに含まれることを示す。
【０１１４】
登録部２１０は、ピッチ周波数の情報を、ＤＢ３０ｂに登録する処理部である。
【０１１５】
次に、本実施例２に係る音声処理装置２００の処理手順の一例について説明する。図１２は、本実施例２に係る音声処理装置の処理手順を示すフローチャートである。図１２に示すように、音声処理装置２００の取得部２０１は、音声ＤＢ３０ａから入力信号を取得する（ステップＳ２０１）。
【０１１６】
音声処理装置２００の周波数変換部２０３は、入力信号のフレームに対して周波数変換を実行することで、入力スペクトルを算出する（ステップＳ２０２）。音声処理装置２００のノイズ推定部２０４は、ノイズスペクトルを推定する（ステップＳ２０３）。
【０１１７】
音声処理装置２００の基音周波数推定部２０６は、基音周波数を推定する（ステップＳ２０４）。音声処理装置２００の判定部２０５は、音声らしさを判定する（ステップＳ２０５）。音声処理装置２００は、音声らしいと判定した場合には（ステップＳ２０６，Ｙｅｓ）、ステップＳ２０７に移行する。一方、音声処理装置２００は、音声らしいと判定していない場合には（ステップＳ２０６，Ｎｏ）、ステップＳ２０８に移行する。
【０１１８】
音声処理装置２００の学習部２０７は、音声らしいと判定されたフレームを基にして、基音周波数に対応する基音の学習値を更新する（ステップＳ２０７）。音声処理装置２００の検出部２０９は、基音の学習値を基にして、ピッチ周波数を推定する（ステップＳ２０８）。
【０１１９】
音声処理装置２００は、音声終了でない場合には（ステップＳ２０９，Ｎｏ）、ステップＳ２０１に移行する。一方、音声処理装置２００は、音声終了の場合には（ステップＳ２０９，Ｙｅｓ）、処理を終了する。
【０１２０】
次に、本実施例２に係る音声処理装置２００の効果について説明する。音声処理装置２００は、ピッチ周波数を検出する場合に、検出対象となるフレームが音声フレームである場合には、基音周波数Ｆｓ０をピッチ周波数として検出する。一方、音声処理装置２００は、検出対象となるフレームが音声フレームでない場合には、学習値を基にして、ピッチ周波数を検出する。一般に、対象となるフレームが音声フレームと判定できた場合には、基音周波数推定部２０６の推定結果が最も信頼性が高いという特性がある。また、音声フレームと判定できない場合には、学習値を用いて、ピッチ周波数の推定を行う。このため、音声フレームか否かに応じて、推定処理を切り替えることで、ピッチ周波数の推定精度を向上させることができる。
【０１２１】
音声処理装置２００は、基音周波数毎に学習値を学習することで、学習値情報２０８ａを学習し、係る学習値情報２０８ａと、フレームの周波数「Ｆ」とを比較することで、学習値を切り替え、ピッチ周波数を推定する。このため、帯域毎に求めた学習値を利用することができ、ピッチ周波数の推定精度を向上することができる。
【実施例３】
【０１２２】
図１３は、本実施例３に係る音声処理システムの一例を示す図である。図１３に示すように、この音声処理システムは、端末装置２ａ，２ｂ、ＧＷ１５、収録サーバ４０、クラウド網５０を有する。端末装置２ａは、電話網１５ａを介して、ＧＷ１５に接続される。端末装置２ｂは、個別網１５ｂを介してＧＷ１５に接続される。ＧＷ１５は、収録サーバ４０に接続される。収録サーバ４０は、保守網４５を介して、クラウド網５０に接続される。
【０１２３】
クラウド網５０は、音声処理装置３００と、ＤＢ５０ｃとを有する。音声処理装置３００は、ＤＢ５０ｃに接続される。なお、音声処理装置３００の処理は、クラウド網５０上の複数のサーバ（図示略）によって実行されてもよい。
【０１２４】
端末装置２ａは、マイク（図示略）により集音された話者１ａの音声（または音声以外）の信号を、ＧＷ１５に送信する。以下の説明では、端末装置２ａから送信される信号を、第１信号と表記する。
【０１２５】
端末装置２ｂは、マイク（図示略）により集音された話者１ｂの音声（または音声以外）の信号を、ＧＷ１５に送信する。以下の説明では、端末装置２ｂから送信される信号を、第２信号と表記する。
【０１２６】
ＧＷ１５は、端末装置２ａから受信した第１信号を、ＧＷ１５の記憶部（図示略）の第１バッファに格納するとともに、第１信号を、端末装置２ｂに送信する。ＧＷ１５は、端末装置２ｂから受信した第２信号を、ＧＷ１５の記憶部の第２バッファに格納するとともに、第２信号を、端末装置２ａに送信する。また、ＧＷ１５は、収録サーバ４０との間でミラーリングを行い、ＧＷ１５の記憶部の情報を、収録サーバ４０の記憶部に登録する。
【０１２７】
収録サーバ４０は、ＧＷ１５との間でミラーリングを行うことで、収録サーバ４０の記憶部（後述する記憶部４２）に第１信号の情報と、第２信号の情報とを登録する。収録サーバ４０は、第１信号を周波数変換することで、第１信号の入力スペクトルを算出し、算出した第１信号の入力スペクトルの情報を、音声処理装置３００に送信する。収録サーバ４０は、第２信号を周波数変換することで、第２信号の入力スペクトルを算出し、算出した第２信号の入力スペクトルの情報を、音声処理装置３００に送信する。
【０１２８】
ＤＢ５０ｃは、音声処理装置３００による、ピッチ周波数の推定結果を格納する。たとえば、ＤＢ５０ｃは、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【０１２９】
音声処理装置３００は、収録サーバ４０から受け付ける第１信号の入力スペクトルを基にして、話者１ａのピッチ周波数を推定し、推定結果をＤＢ５０ｃに格納する。収録サーバ４０から受け付ける第２信号の入力スペクトルを基にして、話者１ｂのピッチ周波数を推定し、推定結果をＤＢ５０ｃに格納する。
【０１３０】
図１４は、本実施例３に係る収録サーバの構成を示す機能ブロック図である。図１４に示すように、この収録サーバ４０は、ミラーリング処理部４１と、記憶部４２と、周波数変換部４３と、送信部４４とを有する。
【０１３１】
ミラーリング処理部４１は、ＧＷ１５とデータ通信を実行することでミラーリングを行う処理部である。たとえば、ミラーリング処理部４１は、ＧＷ１５から、ＧＷ１５の記憶部の情報を取得し、取得した情報を、記憶部４２に登録および更新する。
【０１３２】
記憶部４２は、第１バッファ４２ａと第２バッファ４２ｂとを有する。記憶部４２は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【０１３３】
第１バッファ４２ａは、第１信号の情報を保持するバッファである。第２バッファ４２ｂは、第２信号の情報を保持するバッファである。第１バッファ４１ａに格納された第１信号および第２バッファ４１ｂに格納された第２信号は、ＡＤ変換済みの信号であるものとする。
【０１３４】
周波数変換部４３は、第１バッファ４２ａから第１信号を取得し、第１信号を基にして、フレームの入力スペクトルを算出する。また、周波数変換部４３は、第２バッファ４２ｂから第２信号を取得し、第２信号を基にして、フレームの入力スペクトルを算出する。以下の説明では、第１信号または第２信号をとくに区別する場合を除いて「入力信号」と表記する。周波数変換部４３が、入力信号のフレームの入力スペクトルを算出する処理は、周波数変換部１２０の処理に対応するため、説明を省略する。周波数変換部４３は、入力信号の入力スペクトルの情報を、送信部４４に出力する。
【０１３５】
送信部４４は、入力信号の入力スペクトルの情報を、保守網４５を介して、音声処理装置３００に送信する。
【０１３６】
続いて、図１３で説明した音声処理装置３００の構成について説明する。図１５は、本実施例３に係る音声処理装置の構成を示す機能ブロック図である。図１５に示すように、この音声処理装置３００は、受信部３１０、判定部３２０、基音周波数推定部３３０、学習部３４０、記憶部３５０、検出部３６０、登録部３７０を有する。
【０１３７】
受信部３１０は、収録サーバ４０の送信部４４から、入力信号の入力スペクトルの情報を受信する処理部である。受信部３１０は、入力スペクトルの情報を、判定部３２０、基音周波数推定部３３０、学習部３４０、検出部３６０に出力する。
【０１３８】
判定部３２０は、フレームの入力スペクトルの特徴を基にして、複数のフレームから音声らしいフレームを判定する処理部である。以下において、音声らしいフレームを「音声フレーム」と表記する。判定部３２０は、判定結果を、基音周波数推定部３３０、学習部３４０、検出部３６０に出力する。判定部３２０は、自己相関を算出する処理、自己相関の総和を算出する処理、音声らしさを判定する処理を順に行う。
【０１３９】
判定部３２０が、自己相関を算出する処理について説明する。判定部３２０は、入力スペクトルと、この入力スペクトルを周波数方向に「ｔ」ずらしたスペクトルとの自己相関Ｒ（ｌ，ｔ）を、式（１５）に基づいて算出する。式（１５）において、ｔは、自己相関のずらし幅を示すものである。
【０１４０】
【数１５】
2019060976.tif 000017
【０１４１】
判定部３２０が、自己相関の総和を算出する処理について説明する。判定部３２０は、式（１６）に基づいて、自己相関の総和Ｓ’’（ｌ）を算出する。式（１６）において、「Ｔ」は、自己相関のずらし幅の条件を示すものである。
【０１４２】
【数１６】
2019060976.tif 000018
【０１４３】
判定部３２０が、音声らしさを判定する処理について説明する。たとえば、判定部３２０は、式（１７）に基づいて、フレーム番号「ｌ」のフレームが、音声フレームであるか否かを判定する。
【０１４４】
【数１７】
2019060976.tif 000019
【０１４５】
判定部３２０は、自己相関の総和Ｓ’’（ｌ）が、閾値ＴＨ４以上である場合には、フレーム番号「ｌ」のフレームが音声フレームであると判定し、判定結果Ｌ（ｌ）に「１」を設定する。判定部３２０は、自己相関の総和Ｓ’’（ｌ）が、閾値ＴＨ４未満である場合には、フレーム番号「ｌ」のフレームが音声フレームでないと判定し、判定結果Ｌ（ｌ）に「０」を設定する。判定部３２０は、判定結果Ｌ（ｌ）の情報を、基音周波数推定部３３０、学習部３４０、検出部３６０に出力する。
【０１４６】
基音周波数推定部３３０は、判定部３２０から取得する判定結果Ｌ（ｌ）が「１」である場合に、フレーム番号「ｌ」のフレーム（音声フレーム）に基づいて、基音の周波数を推定する処理部である。たとえば、基音周波数推定部３３０は、文献２に基づいて、基音の周波数を推定する。以下の説明では、基音周波数推定部３３０が算出した基音の周波数を「基音周波数Ｆｓ０」と表記する。基音周波数推定部３３０は、基音周波数Ｆｓ０の情報を、学習部３４０、検出部３６０に出力する。
【０１４７】
学習部３４０は、判定部３２０から取得する判定結果Ｌ（ｌ）が「１」である場合に、基音周波数Ｆｓ０、入力スペクトルを基にして、学習値を学習する処理部である。学習部３４０は、学習結果を、学習値情報３５０ａとして、記憶部３５０に登録、更新する。以下において、学習部３４０の処理の一例について説明する。
【０１４８】
学習部３４０は、入力スペクトルの最大値Ｍを探索する。学習部３４０が、入力スペクトルの最大値Ｍを探索する処理は、学習部１４０が入力スペクトルの最大値Ｍを探索する処理と同様である。入力スペクトルの最大値Ｍに対応する周波数を「Ｆ」とする。
【０１４９】
学習部３４０は、初期区間において、入力スペクトルの基音の大きさＢ’’（ｌ）を、式（１８）に基づいて算出する。初期区間は、入力信号の受信を開始した時点から、所定時間後までの区間である。
【０１５０】
【数１８】
2019060976.tif 000020
【０１５１】
式（１８）に示すように、学習部３４０は「Ｍ−Ｐ（ｌ，Ｆｓ０）」の値が、閾値ＴＨＢよりも小さい場合には、Ｂ’’（ｌ）の値を、Ｐ（ｌ，Ｆｓ０）とする。なお、Ｐ（ｌ，Ｆｓ０）は、フレーム番号「ｌ」の入力スペクトルにおける、基音周波数Ｆｓ０の大きさを示すものである。一方、学習部３４０は「Ｍ−Ｐ（ｌ，Ｆｓ０）」の値が、閾値ＴＨＢ以上の場合には、Ｂ’’（ｌ）の値を、ｍａｘ｛Ｐ（ｌ，ｉ×Ｆｓ０）｝、（ｉ＝１、２、・・・）とする。
【０１５２】
図１６および図１７は、本実施例３に係る学習部の処理を補足説明するための図である。図１６に示すように、「Ｍ−Ｐ（ｌ，Ｆｓ０）」の値が、閾値ＴＨＢよりも小さいということは、基音周波数Ｆｓ０と、周波数Ｆとが略同じであることを意味する。このため、学習部３４０は、「Ｍ−Ｐ（ｌ，Ｆｓ０）」の値が、閾値ＴＨＢよりも小さい場合には、Ｂ’’（ｌ）の値を、Ｐ（ｌ，Ｆｓ０）とする。
【０１５３】
図１７に示すように、「Ｍ−Ｐ（ｌ，Ｆｓ０）」の値が、閾値ＴＨＢ以上ということは、基音周波数Ｆｓ０に対応する値よりも他に、大きな極大値が存在することを意味する。この場合には、学習部３４０は、複数の倍音の値のうち、最大となる倍音の値を、学習値として学習する。たとえば、Ｐ（ｌ、１×Ｆｓ０）、Ｐ（ｌ、２×Ｆｓ０）、Ｐ（ｌ、３×Ｆｓ０）、・・・のうち、Ｐ（ｌ、２×Ｆｓ０）が最大となる場合には、学習部３４０は、２倍音のＰ（ｌ、２×Ｆｓ０）を、学習値として学習する。学習部３４０は、Ｐ（ｌ，ｉ×Ｆｓ０）、（ｉ＝１、２、・・・）について、Ｐ（ｌ，ｉ×Ｆｓ０）の値が最大となる場合のｉを、基音乗数ｖとして特定する。Ｐ（ｌ、２×Ｆｓ０）が最大となる場合には、基音乗数ｖ＝２となる。
【０１５４】
学習部３４０は、初期区間以外において、基音の大きさＢ’’（ｌ）を、式（１９）に基づいて算出する。
【０１５５】
【数１９】
2019060976.tif 000021
【０１５６】
更に、学習部３４０は、判定結果Ｌ（ｌ）＝１のとき、学習値（Ｂ’’（ｌ）の平均値）を基音周波数毎に学習する。
【０１５７】
学習部３４０は、「基音周波数Ｆｓ０＜５０Ｈｚ」となる場合に、式（１１）に基づいて、学習値Ｂａ（ｌ）を算出する。（ただし、式（１１）のＢ’（ｌ）を、Ｂ’’（ｌ）に置き換える。）
【０１５８】
学習部３４０は、「５０Ｈｚ≦基音周波数Ｆｓ０＜１００Ｈｚ」となる場合に、式（１２）に基づいて、学習値Ｂｂ（ｌ）を算出する。（ただし、式（１２）のＢ’（ｌ）を、Ｂ’’（ｌ）に置き換える。）
【０１５９】
学習部３４０は、「１００Ｈｚ≦基音周波数Ｆｓ０＜１５０Ｈｚ」となる場合に、式（１３）に基づいて、学習値Ｂｃ（ｌ）を算出する。（ただし、式（１３）のＢ’（ｌ）を、Ｂ’’（ｌ）に置き換える。）
【０１６０】
図１５の説明に戻る。記憶部３５０は、学習値情報３５０ａを有する。記憶部３５０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【０１６１】
学習値情報３５０ａは、基音乗数ｖ、各帯域の学習値Ｂａ、Ｂｂ、Ｂｃの情報を保持する。また、学習値情報３５０ａは、各学習値Ｂａ〜Ｂｃに対応する所定範囲Ｒａ〜Ｒｃの情報を保持していてもよい。
【０１６２】
検出部３６０は、基音周波数Ｆｓ０と、学習値情報３５０ａと、入力スペクトルの最大値Ｍとを基にして、ピッチ周波数を検出する処理部である。検出部３６０は、検出したピッチ周波数の情報を、登録部３７０に出力する。
【０１６３】
たとえば、検出部３６０は、入力スペクトルに含まれる複数の極大値のうち、最大の値を持つものを最大値Ｍとして特定する。また、検出部３６０は、最大値Ｍに対応する周波数を「Ｆ」とする。
【０１６４】
検出部３６０は、式（２０）に基づいてピッチ周波数（Ｆ０）を検出する。たとえば、検出部３６０は、判定部３２０の判定結果Ｌ（ｌ）＝１である場合には、基音周波数推定部３３０から受け付ける基音周波数Ｆｓ０を、ピッチ周波数として検出する。
【０１６５】
【数２０】
2019060976.tif 000022
【０１６６】
検出部３６０は、判定部３２０の判定結果Ｌ（ｌ）＝０である場合には、最大値Ｍが「Ｂｘ（ｌ）−ＴＨＢ」よりも大きいか否かを判定する。検出部３６０は、判定結果Ｌ（ｌ）＝０であり、かつ、最大値Ｍが「Ｂｘ（ｌ）−ＴＨＢ」よりも大きい場合には、最大値Ｍに対応する周波数を「Ｆ」を基音乗数「ｖ」で除算した値を、ピッチ周波数として検出する。一方、検出部３６０は、判定結果Ｌ（ｌ）＝０であるが、最大値Ｍが「Ｂｘ（ｌ）−ＴＨＡ」よりも大きくない場合には、ピッチ周波数を「０（ピッチ周波数がないことを示す値）」として検出する。
【０１６７】
ここで、Ｂｘ（ｌ）は、「Ｆ」に応じて異なるものとなる。Ｂｘ（ｌ）に関する説明は、実施例２で行った説明と同様である。
【０１６８】
登録部３７０は、ピッチ周波数の情報を、ＤＢ５０ｃに登録する処理部である。
【０１６９】
次に、本実施例３に係る音声処理装置３００の処理手順の一例について説明する。図１８は、本実施例３に係る音声処理装置の処理手順を示すフローチャートである。図１８に示すように、音声処理装置３００の受信部３１０は、収録サーバ４０から入力スペクトルの情報を受信する（ステップＳ３０１）。
【０１７０】
音声処理装置３００の基音周波数推定部３３０は、基音周波数を推定する（ステップＳ３０２）。音声処理装置３００の判定部３２０は、音声らしさを判定する（ステップＳ３０３）。音声処理装置３００は、音声らしいと判定した場合には（ステップＳ３０４，Ｙｅｓ）、ステップＳ３０５に移行する。一方、音声処理装置３００は、音声らしいと判定していない場合には（ステップＳ３０４，Ｎｏ）、ステップＳ３０６に移行する。
【０１７１】
音声処理装置３００の学習部３４０は、音声らしいと判定されたフレームを基にして、基音周波数に対応する基音の学習値を更新する（ステップＳ３０５）。音声処理装置３００の検出部３６０は、基音の学習値を基にして、ピッチ周波数を推定する（ステップＳ３０６）。
【０１７２】
音声処理装置３００は、音声終了でない場合には（ステップＳ３０７，Ｎｏ）、ステップＳ３０１に移行する。一方、音声処理装置３００は、音声終了の場合には（ステップＳ３０７，Ｙｅｓ）、処理を終了する。
【０１７３】
次に、本実施例３に係る音声処理装置３００の効果について説明する。音声処理装置３００は、音声フレームの入力スペクトルの最大値Ｍと、基音周波数に対応する入力スペクトルの大きさとの差分が閾値以上である場合に、次の処理を行う。音声処理装置３００は、基音周波数の整数倍に対応する入力スペクトルのうち、最大値に最も近い入力スペクトルの平均値または分散を学習値として学習する。また、音声処理装置３００は、学習値に、基音周波数に対する前記学習値の周波数の倍数（基音乗数ｖ）を対応づけて記憶する。これにより、極大値が最大となる周波数に対応する値を学習値として学習することができる。また、基音乗数ｖを合わせて記憶することで、学習した値が倍音であっても、かかる倍音と基音乗数ｖとを基にして、基音の周波数を推定することができる。
【０１７４】
なお、本実施例３では一例として、入力信号の入力スペクトルを、収録サーバ４０が算出する場合について説明したが、実施例１、２と同様にして、音声処理装置３００が、入力信号の入力スペクトルを算出してもよい。
【０１７５】
次に、上記実施例に示した音声処理装置１００，２００，３００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１９は、音声処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【０１７６】
図１９に示すように、コンピュータ４００は、各種演算処理を実行するＣＰＵ４０１と、ユーザからのデータの入力を受け付ける入力装置４０２と、ディスプレイ４０３とを有する。また、コンピュータ４００は、記憶媒体からプログラム等を読み取る読み取り装置４０４と、有線または無線ネットワークを介して収録機器等との間でデータの授受を行うインタフェース装置４０５とを有する。また、コンピュータ４００は、各種情報を一時記憶するＲＡＭ４０６と、ハードディスク装置４０７とを有する。そして、各装置４０１〜４０７は、バス４０８に接続される。
【０１７７】
ハードディスク装置４０７は、周波数変換プログラム４０７ａ、判定プログラム４０７ｂ、ノイズ推定プログラム４０７ｃ、基音周波数推定プログラム４０７ｄ、学習プログラム４０７ｅ、検出プログラム４０７ｆを有する。ＣＰＵ４０１は、各プログラム４０７ａ〜４０７ｆを読み出してＲＡＭ４０６に展開する。
【０１７８】
周波数変換プログラム４０７ａは、周波数変換プロセス４０６ａとして機能する。判定プログラム４０７ｂは、判定プロセス４０６ｂとして機能する。ノイズ推定プログラム４０７ｃは、ノイズ推定プロセス４０６ｃとして機能する。基音周波数推定プログラム４０７ｄは、基音周波数推定プロセス４０６ｄとして機能する。学習プログラム４０７ｅは、学習プロセス４０６ｅとして機能する。検出プログラム４０７ｆは、検出プロセス４０６ｆとして機能する。
【０１７９】
周波数変換プロセス４０６ａの処理は、周波数変換部１２０，２０３の処理に対応する。判定プロセス４０６ｂの処理は、判定部１３０，２０５，３２０の処理に対応する。ノイズ推定プロセス４０６ｃの処理は、ノイズ推定部２０４の処理に対応する。基音周波数推定プロセス４０６ｄの処理は、基音周波数推定部２０６，３３０の処理に対応する。学習プロセス４０６ｅの処理は、学習部１４０，２０７，３４０の処理に対応する。検出プロセス４０６ｆの処理は、検出部１６０，２０９，３６０の処理に対応する。
【０１８０】
なお、各プログラム４０７ａ〜４０７ｆについては、必ずしも最初からハードディスク装置４０７に記憶させておかなくても良い。例えば、コンピュータ４００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ６００が各プログラム４０７ａ〜４０７ｆを読み出して実行するようにしても良い。
【０１８１】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１８２】
（付記１）コンピュータに、
入力信号に含まれる複数のフレームからスペクトルをそれぞれ算出し、
前記フレームのスペクトルの特徴に基づいて、前記複数のフレームから、音声らしい音声フレームを判定し、
前記音声フレームのスペクトルに含まれる複数の極大値を基にして基音を特定し、前記基音の大きさに基づく学習値を学習し、
前記フレームのスペクトルと前記学習値とを基にして、前記フレームのピッチ周波数を検出する
処理を実行させることを特徴とする音声処理プログラム。
【０１８３】
（付記２）前記音声フレームを判定する処理は、前記フレームのスペクトルを周波数方向に平滑化することで、前記スペクトルのスペクトル包絡を算出し、前記スペクトルと前記スペクトル包絡との差分を基にして、前記フレームが音声フレームであるか否かを判定することを特徴とする付記１に記載の音声処理プログラム。
【０１８４】
（付記３）前記スペクトルに基づいてノイズスペクトルを推定する処理を更にコンピュータに実行させ、前記音声フレームを判定する処理は、前記フレームのスペクトルと、前記ノイズスペクトルとの差分に基づいて、前記音声フレームを判定することを特徴とする付記１に記載の音声処理プログラム。
【０１８５】
（付記４）前記音声フレームを判定する処理は、前記フレームのスペクトルの自己相関を基にして、前記音声フレームを判定することを特徴とする付記１に記載の音声処理プログラム。
【０１８６】
（付記５）前記学習値を学習する処理は、前記音声フレームのスペクトルの所定の帯域内に含まれる複数の極大値のうち最大の極大値を探索し、前記複数の極大値のうち、前記最大の極大値と比較した値の大きさが一定範囲内に含まれ、かつ、最も低域側にある極大値を基にして、前記学習値を学習することを特徴とする付記１〜４のいずれか一つに記載の音声処理プログラム。
【０１８７】
（付記６）前記学習値を学習する処理は、複数の前記音声フレームのスペクトルの極大値の平均値または分散を基にして、前記学習値を学習することを特徴とする付記１〜５のいずれか一つに記載の音声処理プログラム。
【０１８８】
（付記７）前記ピッチ周波数を検出する処理は、前記フレームのスペクトルの極大値と、前記学習値との差が所定範囲内の場合に、前記極大値に対応する周波数を、前記フレームのピッチ周波数として検出することを特徴とする付記１〜６のいずれか一つに記載の音声処理プログラム。
【０１８９】
（付記８）前記音声フレームから基音の周波数を推定する処理を更にコンピュータに実行させ、前記学習値を学習する処理は、前記基音の周波数毎に、前記学習値を学習することを特徴とする付記１〜４のいずれか一つに記載の音声処理プログラム。
【０１９０】
（付記９）前記ピッチ周波数を検出する処理は、前記ピッチ周波数の検出対象となるフレームが、前記音声フレームである場合には、前記基音の周波数をピッチ周波数として出力し、前記ピッチ周波数の検出対象となるフレームが、前記音声フレームでない場合には、前記学習値を基にして、前記ピッチ周波数を検出することを特徴とする付記８に記載の音声処理プログラム。
【０１９１】
（付記１０）前記音声フレームから基音の周波数を推定する処理を更にコンピュータに実行させ、前記学習値を学習する処理は、前記音声フレームのスペクトルの最大値と、前記基音の周波数に対応する前記スペクトルの大きさとの差分が閾値以上である場合に、前記基音の周波数の整数倍に対応する前記スペクトルのうち、前記最大値に最も近い前記スペクトルのパワーの平均値または分散を前記学習値として学習し、前記学習値に、前記基音の周波数に対する前記学習値の周波数の倍数を対応づけて記憶することを特徴とする付記１〜４のいずれか一つに記載の音声処理プログラム。
【０１９２】
（付記１１）前記ピッチ周波数を検出する処理は、前記ピッチ周波数の検出対象となるフレームの極大値が、前記学習値に基づく範囲内に含まれる場合に、前記極大値の周波数を前記倍数で除算することで、前記ピッチ周波数を検出することを特徴とする付記１０に記載の音声処理プログラム。
【０１９３】
（付記１２）コンピュータが実行する音声処理方法であって、
入力信号に含まれる複数のフレームからスペクトルをそれぞれ算出し、
前記フレームのスペクトルの特徴に基づいて、前記複数のフレームから、音声らしい音声フレームを判定し、
前記音声フレームのスペクトルに含まれる複数の極大値を基にして基音を特定し、前記基音の大きさに基づく学習値を学習し、
前記フレームのスペクトルと前記学習値とを基にして、前記フレームのピッチ周波数を検出する
処理を実行することを特徴とする音声処理方法。
【０１９４】
（付記１３）前記音声フレームを判定する処理は、前記フレームのスペクトルを周波数方向に平滑化することで、前記スペクトルのスペクトル包絡を算出し、前記スペクトルと前記スペクトル包絡との差分を基にして、前記フレームが音声フレームであるか否かを判定することを特徴とする付記１２に記載の音声処理方法。
【０１９５】
（付記１４）前記スペクトルに基づいてノイズスペクトルを推定する処理を更に実行し、前記音声フレームを判定する処理は、前記フレームのスペクトルと、前記ノイズスペクトルとの差分に基づいて、前記音声フレームを判定することを特徴とする付記１２に記載の音声処理方法。
【０１９６】
（付記１５）前記音声フレームを判定する処理は、前記フレームのスペクトルの自己相関を基にして、前記音声フレームを判定することを特徴とする付記１２に記載の音声処理方法。
【０１９７】
（付記１６）前記学習値を学習する処理は、前記音声フレームのスペクトルの所定の帯域内に含まれる複数の極大値のうち最大の極大値を探索し、前記複数の極大値のうち、前記最大の極大値と比較した値の大きさが一定範囲内に含まれ、かつ、最も低域側にある極大値を基にして、前記学習値を学習することを特徴とする付記１２〜１５のいずれか一つに記載の音声処理方法。
【０１９８】
（付記１７）前記学習値を学習する処理は、複数の前記音声フレームのスペクトルの極大値の平均値または分散を基にして、前記学習値を学習することを特徴とする付記１２〜１６のいずれか一つに記載の音声処理方法。
【０１９９】
（付記１８）前記ピッチ周波数を検出する処理は、前記フレームのスペクトルの極大値と、前記学習値との差が所定範囲内の場合に、前記極大値に対応する周波数を、前記フレームのピッチ周波数として検出することを特徴とする付記１２〜１７のいずれか一つに記載の音声処理方法。
【０２００】
（付記１９）前記音声フレームから基音の周波数を推定する処理を更に実行し、前記学習値を学習する処理は、前記基音の周波数毎に、前記学習値を学習することを特徴とする付記１２〜１５のいずれか一つに記載の音声処理方法。
【０２０１】
（付記２０）前記ピッチ周波数を検出する処理は、前記ピッチ周波数の検出対象となるフレームが、前記音声フレームである場合には、前記基音の周波数をピッチ周波数として出力し、前記ピッチ周波数の検出対象となるフレームが、前記音声フレームでない場合には、前記学習値を基にして、前記ピッチ周波数を検出することを特徴とする付記１９に記載の音声処理方法。
【０２０２】
（付記２１）前記音声フレームから基音の周波数を推定する処理を更にコンピュータに実行させ、前記学習値を学習する処理は、前記音声フレームのスペクトルの最大値と、前記基音の周波数に対応する前記スペクトルの大きさとの差分が閾値以上である場合に、前記基音の周波数の整数倍に対応する前記スペクトルのうち、前記最大値に最も近い前記スペクトルのパワーの平均値または分散を前記学習値として学習し、前記学習値に、前記基音の周波数に対する前記学習値の周波数の倍数を対応づけて記憶することを特徴とする付記１２〜１５のいずれか一つに記載の音声処理方法。
【０２０３】
（付記２２）前記ピッチ周波数を検出する処理は、前記ピッチ周波数の検出対象となるフレームの極大値が、前記学習値に基づく範囲内に含まれる場合に、前記極大値の周波数を前記倍数で除算することで、前記ピッチ周波数を検出することを特徴とする付記２１に記載の音声処理方法。
【０２０４】
（付記２３）入力信号に含まれる複数のフレームからスペクトルをそれぞれ算出する周波数変換部と、
前記フレームのスペクトルの特徴に基づいて、前記複数のフレームから、音声らしい音声フレームを判定する判定部と、
前記音声フレームのスペクトルに含まれる複数の極大値を基にして基音を特定し、前記基音の大きさに基づく学習値を学習する学習部と、
前記フレームのスペクトルと前記学習値とを基にして、前記フレームのピッチ周波数を検出する検出部と、
を有することを特徴とする音声処理装置。
【０２０５】
（付記２４）前記判定部は、前記フレームのスペクトルを周波数方向に平滑化することで、前記スペクトルのスペクトル包絡を算出し、前記スペクトルと前記スペクトル包絡との差分を基にして、前記フレームが音声フレームであるか否かを判定することを特徴とする付記２３に記載の音声処理装置。
【０２０６】
（付記２５）前記スペクトルに基づいてノイズスペクトルを推定するノイズ推定部を更に有し、前記判定部は、前記フレームのスペクトルと、前記ノイズスペクトルとの差分に基づいて、前記音声フレームを判定することを特徴とする付記２３に記載の音声処理装置。
【０２０７】
（付記２６）前記判定部は、前記フレームのスペクトルの自己相関を基にして、前記音声フレームを判定することを特徴とする付記２３に記載の音声処理装置。
【０２０８】
（付記２７）前記学習部は、前記音声フレームのスペクトルの所定の帯域内に含まれる複数の極大値のうち最大の極大値を探索し、前記複数の極大値のうち、前記最大の極大値と比較した値の大きさが一定範囲内に含まれ、かつ、最も低域側にある極大値を基にして、前記学習値を学習することを特徴とする付記２３〜２６のいずれか一つに記載の音声処理装置。
【０２０９】
（付記２８）前記学習部は、複数の前記音声フレームのスペクトルの極大値の平均値または分散を基にして、前記学習値を学習することを特徴とする付記２３〜２７のいずれか一つに記載の音声処理装置。
【０２１０】
（付記２９）前記検出部は、前記フレームのスペクトルの極大値と、前記学習値との差が所定範囲内の場合に、前記極大値に対応する周波数を、前記フレームのピッチ周波数として検出することを特徴とする付記２３〜２８のいずれか一つに記載の音声処理装置。
【０２１１】
（付記３０）前記音声フレームから基音の周波数を推定する基音周波数推定部を更に有し、前記学習部は、前記基音の周波数毎に、前記学習値を学習することを特徴とする付記２３〜２６のいずれか一つに記載の音声処理装置。
【０２１２】
（付記３１）前記検出部は、前記ピッチ周波数の検出対象となるフレームが、前記音声フレームである場合には、前記基音の周波数をピッチ周波数として出力し、前記ピッチ周波数の検出対象となるフレームが、前記音声フレームでない場合には、前記学習値を基にして、前記ピッチ周波数を検出することを特徴とする付記３０に記載の音声処理装置。
【０２１３】
（付記３２）前記音声フレームから基音の周波数を推定する基音周波数推定部を更に有し、前記学習部は、前記音声フレームのスペクトルの最大値と、前記基音の周波数に対応する前記スペクトルの大きさとの差分が閾値以上である場合に、前記基音の周波数の整数倍に対応する前記スペクトルのうち、前記最大値に最も近い前記スペクトルのパワーの平均値または分散を前記学習値として学習し、前記学習値に、前記基音の周波数に対する前記学習値の周波数の倍数を対応づけて記憶することを特徴とする付記２３〜２６のいずれか一つに記載の音声処理装置。
【０２１４】
（付記３３）前記検出部は、前記ピッチ周波数の検出対象となるフレームの極大値が、前記学習値に基づく範囲内に含まれる場合に、前記極大値の周波数を前記倍数で除算することで、前記ピッチ周波数を検出することを特徴とする付記３２に記載の音声処理装置。
【符号の説明】
【０２１５】
１００，２００，３００  音声処理装置
１２０，２０３  周波数変換部
１３０，２０５，３２０  判定部
１４０，２０７，３４０  学習部
１６０，２０９，３６０  検出部
２０４  ノイズ推定部
２０６，３３０    基音周波数推定部
【図１】
2019060976.tif 000023
【図２】
2019060976.tif 000024
【図３】
2019060976.tif 000025
【図４】
2019060976.tif 000026
【図５】
2019060976.tif 000027
【図６】
2019060976.tif 000028
【図７】
2019060976.tif 000029
【図８】
2019060976.tif 000030
【図９】
2019060976.tif 000031
【図１０】
2019060976.tif 000032
【図１１】
2019060976.tif 000033
【図１２】
2019060976.tif 000034
【図１３】
2019060976.tif 000035
【図１４】
2019060976.tif 000036
【図１５】
2019060976.tif 000037
【図１６】
2019060976.tif 000038
【図１７】
2019060976.tif 000039
【図１８】
2019060976.tif 000040
【図１９】
2019060976.tif 000041
【図２０】
2019060976.tif 000042
【図２１】
2019060976.tif 000043
【図２２】
2019060976.tif 000044
【図２３】
2019060976.tif 000045
【図２４】
2019060976.tif 000046
【図２５】
2019060976.tif 000047