JP4840149B2 - 発音期間を特定する音信号処理装置およびプログラム - Google Patents

発音期間を特定する音信号処理装置およびプログラム Download PDF

Info

Publication number
JP4840149B2
JP4840149B2 JP2007004948A JP2007004948A JP4840149B2 JP 4840149 B2 JP4840149 B2 JP 4840149B2 JP 2007004948 A JP2007004948 A JP 2007004948A JP 2007004948 A JP2007004948 A JP 2007004948A JP 4840149 B2 JP4840149 B2 JP 4840149B2
Authority
JP
Japan
Prior art keywords
sound signal
sound
period
trigger signal
signal processing
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.)
Expired - Fee Related
Application number
JP2007004948A
Other languages
English (en)
Other versions
JP2008170806A (ja
Inventor
靖雄 吉岡
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2007004948A priority Critical patent/JP4840149B2/ja
Publication of JP2008170806A publication Critical patent/JP2008170806A/ja
Application granted granted Critical
Publication of JP4840149B2 publication Critical patent/JP4840149B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、音信号から発音期間の音を示す部分を特定する技術に関する。
音声認識やピッチ検出等の音信号の認識や解析を行う処理においては、発音期間、すなわち音声や楽器音が発音されている期間と、非発音期間、すなわち音声や楽器音が発音されていない期間とを区別することが必要である。なぜなら、非発音期間においても通常の音空間には必ず環境雑音が存在するため、仮に発音期間と非発音期間の区別を行うことなく全ての期間において音声認識やピッチ検出等の処理を行うと、非発音期間において環境雑音に基づき誤った処理の結果が得られる可能性があるためである。また、本来処理が不要である非発音期間の音に関し音声認識やピッチ検出等の処理を行うことは無意味であり、処理装置のリソースを無駄に消費する等の観点から好ましくない。
音信号における発音期間と非発音期間を区別する方法としては、取得された音信号のS/N(Signal−Noise)比が予め定められたS/N比の閾値を上回る期間を発音期間として特定する方法が広く用いられている。しかしながら、非発音期間における環境雑音のレベルは音信号の取得される環境において様々に変化する。従って、固定的なノイズレベルを用いたS/N比により発音期間の特定を行うと、環境雑音のレベルが高い環境において取得された音信号においては非発音期間が誤って発音期間と特定されたり、環境雑音のレベルが低い環境において取得された音信号においては発音期間が誤って非発音期間と特定されたりする。
上記の問題を解決するために、例えば特許文献1には、音声付映像情報から音声情報を抽出するにあたり、音声付映像情報が示すコンテンツのジャンルに応じて異なるノイズレベルを用いる技術が開示されている。
また、例えば特許文献2には、音信号を所定時間長のフレームに分割し、過去に非発音期間と特定されたフレームの属性値に基づき後続のフレームにおけるS/N比の算出に用いるノイズレベルを更新する技術が開示されている。
特開2003−101939号公報 特開2001−265367号公報
ところで、携帯端末等のユーザに音声認識等を利用したサービスを提供するようなシステムでは、端末の環境雑音のレベルがどのように変化するかを予め予測することは容易ではないため、特許文献1に開示されるように予めノイズレベルを変更するための基準を与えることも困難である。
また、特許文献2に開示されるような技術を用いる場合、まず過去のフレームに関し何らかの方法で非発音期間であるか否かの判定を行う必要があり、その判定において用いるノイズレベルを如何に与えるかが問題となる。すなわち、ノイズレベルの初期値が不適当であると発音期間の特定結果の精度が低くなる。
なお、ユーザによる楽器の演奏音のピッチ検出を行うピッチ検出装置等においても、上述した音声による本人認証を行う端末装置と同様の課題がある。
上記の状況に鑑み、本発明は、環境雑音の変化が予測不可能な状況においても、高い精度で音信号における発音期間の特定を可能とする手段を提供することを目的とする。
上記課題を達成するために、本発明は、継続的に音信号を取得する音信号取得手段と、現時点を終点とする過去の所定期間において前記音信号取得手段により取得された音信号を記憶し保持する記憶手段と、前記音信号の認識または解析を行う装置に前記音信号の認識または解析を開始させる条件の少なくとも一部を満たすイベントをトリガ信号として取得するトリガ信号取得手段と、前記トリガ信号の取得時以後に始点を持つ期間を判定期間とし、この判定期間内に前記音信号取得手段により取得された音信号を用いてサウンドレベルの指標値を算出し、前記トリガ信号の取得時点以前に始点および終点を持つ期間をノイズレベル測定期間とし、前記記憶手段に記憶された音信号であって前記ノイズレベル測定期間内のものを用いてノイズレベルの指標値を算出し、前記サウンドレベルの指標値を前記ノイズレベルの指標値で除すことによりS/N比を算出し、前記S/N比が所定の条件を満たすか否かを判定することにより、前記判定期間内に前記音信号取得手段により取得された音信号のうち発音期間の部分を特定する特定手段とを備えることを特徴とする音信号処理装置を提供する。また、本発明は、上記の音信号処理装置により行われる処理をコンピュータに実行させるプログラムを提供する。
かかる発明によれば、音信号の認識または解析を行う装置に音信号の認識または解析を開始させる条件の少なくとも一部を満たすイベントがトリガ信号として取得され、このトリガ信号の取得時以後に始点を持つ期間が判定期間内に取得された音信号を用いてサウンドレベルの指標値が算出され、トリガ信号の取得時点以前に始点および終点を持つノイズレベル測定期間内に取得された音信号を用いてノイズレベルの指標値が算出される。そして、判定期間内の音信号について、サウンドレベルの指標値をノイズレベルの指標値で除したS/N比が所定の条件を満たすか否かにより、発音期間の部分が特定される。従って、本発明によれば、音信号処理装置の周囲の環境雑音の変化が予測不可能な状況においても、高い精度で音信号における発音期間を特定することができる。
<A.基本的な形態>
[A−1.構成]
図1は本発明の一実施形態にかかる音信号処理システム1の構成を示すブロック図である。音信号処理システム1は、取得した音信号における発音期間を特定して特定した発音期間の音信号を出力する音信号処理装置10、置かれた音空間における音を収音し音信号に変換して音信号処理装置10に対し出力するマイク20、音信号処理装置10から出力される音信号の特徴量を抽出し予め記憶している特徴量と比較することにより音信号により示される音声の話者を特定する音信号認識装置40を備えている。
なお、音信号認識装置40は、音信号処理装置10により出力される音信号の認識または解析を行う装置の一例である。音信号処理装置10により出力される音信号の認識または解析を行う装置は、楽音のピッチを特定する装置等の他の装置であってもよい。
音信号処理装置10は、マイク20から音信号を取得して各種処理を行うとともに音信号処理装置10の他の構成部を制御する制御部11、制御部11による各種処理を指示するプログラムおよび制御部11により利用される各種データを記憶するとともに制御部11のワークエリアとして用いられる記憶部12、音信号を音信号認識装置40に対し出力する音信号出力部13、所定時間間隔でクロック信号を生成する発振器14を備えている。音信号処理装置10の各構成部は発振器14により生成されるクロック信号により必要に応じて処理の同期や計時を行う。
制御部11は、マイク20から音信号を受け取る音信号取得部111、音信号取得部111が受け取った音信号をアナログ信号からデジタル信号に変換し所定時間長ごとのフレームに区分して記憶部12に順次記憶させるA/D(Analog to Digital)コンバータ112、音信号の処理を行う装置またはソフトウェア(図1の例では音信号認識装置40)に音信号の処理を開始させる条件の少なくとも一部を満たすイベントを検出することによりトリガ信号を取得するトリガ信号取得部113、トリガ信号取得部113によるトリガ信号の取得をトリガとして記憶部12に順次記憶される音信号における発音期間を特定する特定部114を備えている。
記憶部12がA/Dコンバータ112から受け取るフレームには、各フレームを識別するために時系列順にフレーム番号が採番される。以下の説明において、フレーム番号は4桁の整数であり、例えばフレーム番号「0001」のフレームをフレーム「0001」のように呼ぶ。なお、以下の説明において、A/Dコンバータ112により生成されるデジタル信号はPCM(Pulse Code Modulation)形式の音波形データであるものとするが、これに限られない。また、以下の説明においてA/Dコンバータ112により記憶部12に記憶される音信号のフレームの長さは10ミリ秒であるものとするが、これに限られない。
さらに、特定部114は記憶部12に順次記憶される音信号のフレームの各々に対しFFT(Fast Fourier Transform)アルゴリズムに従った処理を行い当該フレームに含まれる周波数成分を算出するFFT部1141、FFT部1141により算出された周波数成分の振幅を用いてフレームのS/N比を算出するS/N比算出部1142、S/N比算出部1142により算出されたS/N比が所定の条件を満たすか否かを順次判定することにより発音期間の開始時点および終了時点を特定する条件判定部1143を備えている。S/N比算出部1142および条件判定部1143による具体的な処理内容は後述の動作説明において明らかにする。
記憶部12には、音信号のフレームを一時的に格納するための領域として、第1バッファ121および第2バッファ122が設けられている。第1バッファ121は、音信号処理装置10が動作を開始してからトリガ信号取得部113によりトリガ信号が取得されるまでの間、および前回の発音期間の特定処理がユーザの操作等により終了された後から再びトリガ信号取得部113によりトリガ信号が取得されるまでの間、A/Dコンバータ112により順次生成されるフレームを過去の所定時間長分だけ格納するための領域である。以下、第1バッファ121にフレームの格納が行われる期間を「待機期間」と呼ぶ。また、以下の説明において第1バッファ121に格納可能なフレームは10個、すなわち100ミリ秒分であるものとするが、これに限られない。
図2は第1バッファ121の構成を模式的に示した図である。説明を簡単にするため、図示の例では、第1バッファ121は10個の領域に分割されており、各領域は「−0010」乃至「−0001」の番号により識別される。以下、例えば番号「−0010」により識別される領域を領域「−0010」のように呼ぶ。第1バッファ121において、領域「−0010」に格納されるフレームが最も古く、領域「−0001」に格納されるフレームが最も新しくなるように、取得順にフレームが各領域に格納される。なお、図2においては、領域「−0010」乃至「−0001」にフレーム「0085」乃至「0094」が各々格納されている様子が例示されている。
待機期間中、記憶部12は10ミリ秒間隔でA/Dコンバータ112から新たなフレームを受け取り、FIFO(First−In First−Out)により第1バッファ121の内容を継続的に更新する。なお、図2においては領域「−0010」乃至「−0001」が固定的な位置に描かれているが、記憶部12における各領域の物理的な位置は固定される必要はなく、例えば記憶部12の任意の記憶領域に記憶されたフレームをポインタにより参照することにより、第1バッファ121が実現されてもよい。その場合、ポインタを更新することにより第1バッファ121の内容更新が高速に行われる。
第2バッファ122は、トリガ信号取得部113によりトリガ信号が取得された後、ユーザの操作等により発音期間の特定処理が終了されるまでの間、A/Dコンバータ112により順次生成されるフレームを過去の所定時間長分だけ記憶するための領域である。以下、第2バッファ122にフレームの格納が行われる期間を「判定期間」と呼ぶ。なお、以下の説明において第2バッファ122に格納可能なフレームは6000個、すなわち60秒分であるものとするが、これに限られない。
図3は第2バッファ122の構成を模式的に示した図である。説明を簡単にするため、図示の例では、第2バッファ122は6000個の領域、すなわち領域「0001」乃至「6000」に分割されている。第2バッファ122において、領域「0001」に格納されるフレームが最も古く、領域「6000」に格納されるフレームが最も新しくなるように、取得順にフレームが各領域に格納される。なお、図3においては、領域「0001」、「0002」、「0003」・・・にフレーム「0095」、「0096」、「0097」・・・が各々格納されている様子が例示されている。また、図3に示される領域「5996」乃至「6000」が空欄となっているのは、図3が判定期間の開始後まだ60秒が経過しておらず、第2バッファ122の末尾付近の領域に未だフレームが格納されていない状態を例示しているためである。
判定期間中、記憶部12は10ミリ秒間隔でA/Dコンバータ112から新たなフレームを受け取り、FIFOにより第2バッファ122の内容を継続的に更新する。なお、第2バッファ122に含まれる各領域の物理的な位置が固定される必要はない点は、第1バッファ121の場合と同様である。
記憶部12には、さらに、判定期間中にS/N比算出部1142により生成されるノイズレベルデータ123およびサウンドレベルデータ124が一時的に格納される。ノイズレベルデータ123は、トリガ信号取得部113によりトリガ信号が取得された時点において第1バッファ121に記憶されているフレームの振幅に関する属性値を示すデータである。一方、サウンドレベルデータ124は判定期間中に第2バッファ122に順次格納されるフレームの振幅に関する属性値を示すデータである。ノイズレベルデータ123およびサウンドレベルデータ124の具体的内容は後述の動作説明において述べる。
また、記憶部12には、判定期間中に条件判定部1143により生成される発音期間データ125が一時的に格納される。発音期間データ125は発音期間の先頭のフレーム番号および末尾のフレーム番号を示すデータである。発音期間データ125により、先頭のフレームの開始時点が発音期間の開始時点として特定され、同様に末尾のフレームの終了時点が発音期間の終了時点として特定される。なお、発音期間データ125の形式はフレーム番号を用いるものに限られず、例えば発音期間の開始時点および終了時点を時刻データにより特定する等、他に様々なものが考えられる。
[A−2.動作]
次に、音信号処理システム1の動作を説明する。
マイク20は常時、音信号処理システム1の配置された音空間の音を示す音信号を音信号処理装置10に対し出力している。音信号処理装置10の音信号取得部111はマイク20から音信号を受け取ると、受け取った音信号を順次、A/Dコンバータ112に引き渡している。そして、A/Dコンバータ112は音信号取得部111から音信号を受け取ると、受け取った音信号をデジタル信号に変換した後、記憶部12に順次引き渡し、フレーム単位で記憶させている。トリガ信号取得部113がトリガ信号を受け取る前の待機期間では、A/Dコンバータ112は、記憶部12に対し、引き渡す音信号を第1バッファ121に格納するように指示している。その結果、第1バッファ121には常に待機期間中における直近の最大10フレーム分の音信号が格納されていることになる。このように第1バッファ121に格納されている音信号は、未だユーザによる発音(発声)が行われていない状態における音空間内の音、すなわち環境雑音の音を示す音信号である。
上記の状態において、音信号の認識または解析を行う装置の一例である音信号認識装置40が音信号の処理(この場合、音信号の認識処理)を開始する条件の少なくとも一部を満たすイベント(例えばユーザ認証の完了)が発生すると、トリガ信号取得部113は、このイベントを検出し、トリガ信号をA/Dコンバータ112および特定部114に引き渡す。
A/Dコンバータ112は、トリガ信号取得部113からトリガ信号を受け取ると、その後、生成する音信号を記憶部12に記憶させる際、第2バッファ122に記憶するように指示する。その結果、第2バッファ122には常に判定期間中における直近の最大6000フレーム分の音信号が格納されていることになる。また、判定期間中において、待機期間中に格納された第1バッファ121の内容は保持されている。
一方、特定部114は、トリガ信号取得部113からトリガ信号を受け取ると、第2バッファ122に順次格納される音信号における発音期間の特定処理を開始する。まず、FFT部1141は、第1バッファ121に記憶されている直近のフレーム、すなわち領域「−0001」に格納されているフレームに関し、FFT処理を行い、各々のフレームの音信号に含まれる各周波数の成分を示す複素数を算出する。以下、説明のため、第1バッファ121の領域「−0001」に格納されているフレームがフレーム「0094」であるものとする。
以下の説明において、FFT部1141はFFT処理により、複数の周波数の成分を示す複素数(R+I1i)、(R+Ii)、(R+Ii)、・・・、(R+INi)を算出するものとする。ただし、ここで「i」は虚数単位であり、RおよびI(nは1〜N、NはFFTbinの数)はそれぞれ実数部および虚数部の数値である。
FFT部1141は上記のように算出した周波数成分を示す複素数群をS/N比算出部1142に引き渡す。S/N比算出部1142は、FFT部1141から受け取った複素数群を用いて、複数の周波数帯域に含まれる周波数の複素数群から、予め区分された複数の周波数帯域ごとに、音信号の成分に関する振幅の指標を算出する。以下の説明においては、S/N比算出部1142は図4に示す5つの周波数帯域の各々に関し、以下の(式1)乃至(式5)に従って周波数帯域ごとのパワー:F(mは周波数帯域番号)を算出する。ここで、b:所望帯域の最低周波数に対応するFFTbinの番号、e:所望帯域の最高周波数に対応するFFTbinの番号とする。
Figure 0004840149
以下、FFT部1141およびS/N比算出部1142によりフレーム「0094」に格納されているフレームに関し上記のように算出されたF、F、・・・、FをF0094_1、F0094_2、・・・、F0094_5のように呼ぶ。
続いて、FFT部1141およびS/N比算出部1142は、第1バッファ121の領域「−0002」乃至「−0005」に格納されているフレームの各々に関しても、同様に周波数帯域ごとのパワー、すなわちF0093_1乃至F0093_5、F0092_1乃至F0092_5、F0091_1乃至F0091_5、F0090_1乃至F0090_5を算出する。
続いて、S/N比算出部1142は以下の(式6)に従って周波数帯域ごとのノイズレベル:NLm(mは周波数帯域番号)を算出する。ただし、(式6)におけるtはフレーム番号を示し、この場合k=0090である。
Figure 0004840149
S/N比算出部1142は上記のようにNL乃至NLを算出すると、それらの数値群を示すデータをノイズレベルデータ123として記憶部12に記憶させる。このように記憶部12に記憶されるノイズレベルデータ123は、環境雑音のレベルを所定の周波数帯域ごとに示すデータである。
続いて、FFT部1141は第2バッファ122に新たに格納されたフレーム、すなわちフレーム「0095」に関し、上述した第1バッファ121に格納されたフレームに関するものと同様の処理を行い、周波数成分を示す複素数群を算出する。S/N比算出部1142はFFT部1141によりフレーム「0095」に関し算出された複素数群を用いて、上記(式1)乃至(式5)に従って、周波数帯域ごとのパワー、すなわちF0095_1、F0095_2、・・・、F0095_5を算出する。
S/N比算出部1142は上記のようにF0095_1乃至F0095_5を算出すると、それらの数値群を示すデータをサウンドレベルデータ124として記憶部12に記憶させる。このように記憶部12に記憶されるサウンドレベルデータ124は、現時点の音空間における音のレベルを所定の周波数帯域ごとに示すデータである。
S/N比算出部1142は、上記のように記憶部12に記憶したノイズレベルデータ123およびサウンドレベルデータ124を用いて、以下の(式7)に従って、S/N比:SNRを算出する。ただし、(式7)におけるSはサウンドレベルデータ124の算出に用いられたフレーム番号を示し、この場合S=0095である。
Figure 0004840149
FFT部1141およびS/N比算出部1142は、第2バッファ122に新たなフレームが格納されるごとに、上記(式7)に従い、新たに格納されたフレームに関するSNRを算出する。なお、判定期間中に第1バッファ121に格納されている音信号は変更されないので、第2バッファ122に格納されるフレーム「0096」以降に関するSNRの算出においては、既に記憶部12に記憶されているノイズレベルデータ123が利用される。
上記のようにS/N比算出部1142により算出されるSNRは、環境雑音のレベルに対する現時点の音空間における音のレベルの比を示す指標である。従って、ユーザにより発声がなされていない間に算出されるSNRは1の近傍を示し、ユーザにより発声がなされている間に算出されるSNRは1よりかなり大きな数値を示すことになる。そこで、条件判定部1143はS/N比算出部1142により順次算出されるSNRに基づき、発音期間の特定処理を以下のように行う。
条件判定部1143による発音期間の特定処理は、発音期間の開始時点を特定するための処理と、発音期間の終了時点を特定するための処理に区分される。図5は開始時点の特定処理のフローを、図6は終了時点の特定処理のフローを、それぞれ示している。
まず、条件判定部1143は発音期間の特定処理に先立ち、予め以下の定数をパラメータとして記憶部12に記憶している。
(a)開始閾値
(b)開始満了回数
(c)開始猶予回数
(d)終了閾値
(e)終了満了回数
開始閾値は、SNRがその値を超えた場合に、そのSNRの算出に用いられたフレームが発音期間中のフレームである可能性が高いことを示す閾値である。以下の説明において、開始閾値=2.0であるものとする。
開始満了回数は、その回数を超えてSNRが開始閾値を超えた場合に、最初に開始閾値を超えたSNRに対応するフレームを発音期間の先頭フレームと判定するための回数である。以下の説明において、開始満了回数=5であるものとする。
開始猶予回数は、いったん発音期間の開始時点の特定処理が開始された後、SNRが開始閾値を超えるか否かの判定がその回数を超えても開始時点の特定がなされない場合に、再度、それ以降のSNRに関し発音期間の開始時点の特定処理をやり直すための回数である。以下の説明において、開始猶予回数=10であるものとする。
終了閾値は、SNRがその値を下回った場合に、そのSNRの算出に用いられたフレームが非発音期間のフレームである可能性が高いことを示す閾値である。以下の説明において、終了閾値=1.2であるものとする。
終了満了回数は、その回数を超えてSNRが終了閾値を下回った場合に、最初に終了閾値を下回ったSNRに対応するフレームを発音期間の末尾フレームと判定するための回数である。以下の説明において、終了満了回数=15であるものとする。
条件判定部1143は、判定期間になると、まず以下の変数を初期化する(ステップS100)。
(f)開始時点データ
(g)試行カウンタ
(h)開始閾値超過カウンタ
開始時点データは、発音期間の先頭のフレームのフレーム番号が格納される変数であり、そのフレーム番号の開始時点が発音期間の開始時点を示す。初期化により、開始時点データには例えば未特定値を示す「Null」が代入される。
試行カウンタは、ステップS100の初期化処理の後、SNRを開始閾値「2.0」と比較した回数をカウントするカウンタである。また、開始閾値超過カウンタはSNRが開始閾値「2.0」を超えた回数をカウントするカウンタである。初期化により、試行カウンタおよび開始閾値超過カウンタにはそれぞれ「0」が代入される。
条件判定部1143は、S/N比算出部1142から新たなSNRを取得すると(ステップS101)、試行カウンタに1を加算した後(ステップS102)、ステップS101において取得したSNRが開始閾値「2.0」を超えているか否かを判定する(ステップS103)。SNRが開始閾値「2.0」を超えていない場合(ステップS103:No)、条件判定部1143は試行カウンタが開始猶予回数「10」を超えているか否かを判定する(ステップS104)。
試行カウンタが開始猶予回数「10」を超えていない場合(ステップS104:No)、条件判定部1143は処理をステップS101に戻し、次のSNRに関しステップS101以降の処理を繰り返す。
一方、開始時点の特定がなされないまま、ステップS101以下の処理が繰り返され、ステップS102において試行カウンタの値が増加される結果、11になると、ステップS104の判定結果がYesとなる。その場合、条件判定部1143は処理をステップS100に戻し、再度、それ以降のSNRに関し発音期間の開始時点の特定処理をやり直す。
ユーザは発声を行わない間は、SNRが開始閾値「2.0」を超えないため、条件判定部1143は上記のステップS100乃至ステップS104の処理を繰り返す。そのような状態でユーザが発声を開始すると、ステップS103の判定における結果がYesとなる。その場合、続いて条件判定部1143は開始閾値超過カウンタが「0」であるか否かを判定する(ステップS105)。この場合、開始閾値超過カウンタは「0」であるので(ステップS105:Yes)、条件判定部1143は開始時点データに最後に取得したSNRの算出に用いられたフレーム番号を代入する(ステップS106)。このように代入されるフレーム番号は、発音期間の開始時点を示すフレーム番号の候補である。
続いて、条件判定部1143は開始閾値超過カウンタに1を加算した後(ステップS107)、開始閾値超過カウンタが開始満了回数「5」を超えているか否かを判定する(ステップS108)。この場合、開始閾値超過カウンタは「1」でありステップS108の判定結果はNoとなるため、条件判定部1143は処理をステップS101に戻し、新たなSNRに関しステップS101以降の処理を繰り返す。
通常、ユーザにより発声が開始され、いったんステップS103における判定結果がYesとなると、後続のフレームに関するSNRに関するステップS103における判定結果もしばらくの間、Yesとなる。ユーザの一続きの発声時間は数秒間に渡り、一方、各フレームの長さは10ミリ秒と短いためである。その結果、再びステップS103の判定結果がYesとなり、ステップS105の判定がなされる場合、既に開始閾値超過カウンタは「1」以上となっているため、その判定結果はNoとなる。その場合、条件判定部1143はステップS106の開始時点データの設定を行わず、ステップS107以降の処理を行う。既に仮設定されている発音期間の開始を示すフレーム番号を変更する必要がないためである。
ステップS103におけるSNRと開始閾値との比較による判定結果が繰り返しYesとなり、ステップS105以降の処理が繰り返され、ステップS107において開始閾値超過カウンタの値が増加される結果、6になると、ステップS108の判定結果がYesとなる。その場合、条件判定部1143はその時点で開始時点データに格納されているフレーム番号を発音期間の先頭フレームを示すフレーム番号として確定し、処理を発音期間の終了時点の特定処理のフローに移す。
ところで、いったんステップS103の判定結果がYesとなっても、例えば一単語の発音における音節間において、短い時間ではあるが発声が途切れたり、発声のレベルが低くなったりする場合がある。そのような場合、ステップS103の判定結果が一時的にNoとなるが、後続のSNRに関するステップS103の判定結果がYesとなるため、それらのフレームは一連の発音期間のフレームと判断されることになる。
一方、例えばユーザが物を落とした等により大きな雑音が発生し、発声ではない音によりSNRが一時的に高くなるような場合がある。そのような場合、ステップS103の判定結果が一時的にYesとなるが、後続のSNRに関するステップS103の判定結果がNoとなり、試行カウンタが10を超えた時点で開始時点データに仮設定されていたフレーム番号も初期化されるため、誤ってそのような雑音の発生時点が発音期間の開始時点と判断されることはない。
上記のように、発音期間の開始時点の特定処理が完了すると、条件判定部1143は続いて図6に示される発音期間の終了時点の特定処理を開始する。条件判定部1143はまず、以下の変数を初期化する(ステップS200)。
(i)終了時点データ
(j)終了閾値未満カウンタ
終了時点データは、発音期間の末尾のフレームのフレーム番号が格納される変数であり、そのフレーム番号の終了時点が発音期間の終了時点を示す。初期化により、終了時点データには例えば未特定値を示す「Null」が代入される。
終了閾値未満カウンタはSNRが終了閾値「1.2」を下回った回数をカウントするカウンタである。初期化により、終了閾値未満カウンタには「0」が代入される。
条件判定部1143はS/N比算出部1142から新たなSNRを取得すると(ステップS201)、ステップS201において取得したSNRが終了閾値「1.2」を下回っているか否かを判定する(ステップS202)。SNRが終了閾値「1.2」を下回っていない場合(ステップS202:No)、条件判定部1143は続いて当該SNRが開始閾値「2.0」を超えているか否かを判定する(ステップS203)。
ユーザが発声中においては、SNRが開始閾値「2.0」を超える可能性が高く、その場合、ステップS203の判定結果はYesとなり、条件判定部1143は処理をステップS200に移し、再び、終了時点の特定処理をやり直す。また、ユーザが発声中であって、発音がやや小さくなったりした場合には、SNRが開始閾値「2.0」以下であるが、終了閾値「1.2」以上となることがある。そのような場合(ステップS203:No)、条件判定部1143は変数の初期化は行わず、処理をステップS201に戻し、新たなSNRに関しステップS201以降の処理を繰り返す。
ユーザが発声を行っている間は、SNRが終了閾値「1.2」を下回らないため、条件判定部1143は上記のステップS200乃至ステップS203の処理を繰り返す。そのような状態でユーザが発声を終了すると、ステップS202の判定における結果がYesとなる。その場合、続いて条件判定部1143は終了閾値未満カウンタが「0」であるか否かを判定する(ステップS204)。この場合、終了閾値未満カウンタは「0」であるので(ステップS204:Yes)、条件判定部1143は終了時点データに最後に取得したSNRの算出に用いられたフレーム番号から1を減じた番号を代入する(ステップS205)。このように代入されるフレーム番号は、発音期間の終了時点を示すフレーム番号の候補である。
続いて、条件判定部1143は終了閾値未満カウンタに1を加算した後(ステップS206)、終了閾値未満カウンタが終了満了回数「15」を超えているか否かを判定する(ステップS207)。この場合、終了閾値未満カウンタは「1」でありステップS207の判定結果はNoとなるため、条件判定部1143は処理をステップS201に戻し、新たなSNRに関しステップS201以降の処理を繰り返す。
その後、ユーザがすぐさま発声を開始しない限り、再びステップS202の判定結果がYesとなる。その場合、ステップS204の判定においては、既に終了閾値未満カウンタが「1」以上となっているため、その判定結果がNoとなる。その場合、条件判定部1143はステップS205の終了時点データの設定を行わず、ステップS206以降の処理を行う。既に仮設定されている発音期間の終了を示すフレーム番号を変更する必要がないためである。
ステップS202におけるSNRと終了閾値との比較による判定結果が繰り返しYesとなり、ステップS204以降の処理が繰り返され、ステップS206において終了閾値未満カウンタの値が増加される結果、31になると、ステップS207の判定結果がYesとなる。その場合、条件判定部1143はその時点で終了時点データに格納されているフレーム番号を発音期間の末尾フレームを示すフレーム番号として確定し、開始時点データおよび終了時点データの組み合わせを発音期間データ125として記憶部12に記憶させる(ステップS208)。その後、条件判定部1143は音信号出力部13に対し音信号の出力を指示した後(ステップS209)、次の発音期間を特定するために、再び図5に示した発音期間の特定処理に戻る。図7は、上述した特定部114による発音期間の特定の様子を模式的に示した図である。
音信号出力部13は、条件判定部1143から音信号の出力を指示されると、第2バッファ122から、発音期間データ125に含まれる開始時点データにより示されるフレーム番号を先頭とし、終了時点データにより示されるフレーム番号を末尾とする一連のフレーム群を読み出し、音信号認識装置40に対し出力する。特定部114は例えば、ユーザにより発音期間の特定処理の終了指示がなされるか、トリガ信号の取得時点の後、発音期間の特定処理の最大時間として予め設定された時間が経過するまでの間、図5および図6に示した判定期間における一連の処理を繰り返す。
音信号認識装置40は音信号出力部13から受け取った音信号に対し特徴量抽出を行い、予め記憶されている特徴量と、新たに抽出したユーザの音声に関する特徴量とを比較することにより、ユーザの本人認証を行う。その場合、音信号認識装置40が音信号出力部13から受け取る音信号は、ユーザの発声期間に応じた部分が正しく切り出された音信号であるため、精度の高い本人認証が行われることになる。
以上説明した音信号処理システム1によれば、環境雑音の変化が予測不可能な状況においても、音信号の処理を行う装置(上記の例では音信号認識装置40)が音信号の処理を開始するための条件の少なくとも一部を満たすイベント(上記の例ではユーザ認証)の検出をトリガとして、そのトリガの発生直前に取得された音信号を環境雑音を示す音信号として用いる結果、トリガの発生後の音信号における発音期間の特定を高い精度で行うことが可能となる。以上の説明の中の「認識開始指示」方法に関するバリエーションについて述べる。
<B.各種の具体例>
本発明の主な適用対象は、音信号の認識や解析を利用したサービスをユーザに提供するシステムである。そして、本発明を実施するに当たり、十分な効果を得るためには、音信号処理装置10のトリガ信号取得部113がこの種のシステムにおいて発生する適切なイベントを捉えてトリガ信号を取得する必要がある。如何なるイベントを捉えてトリガ信号とするのが適切であるかは、音信号の認識または解析を利用したサービスをユーザに提供するシステムの構成やサービスの提供態様により異なる。また、本発明では、基本的には、トリガ信号の取得時点の直前の期間に得られる音信号からノイズレベルデータを求め、トリガ信号の取得時点以降の判定期間において発音期間の特定を行うが、音信号の認識や解析を利用したサービスをユーザに提供するシステムの構成によっては、トリガ信号の取得時点の近傍の期間において環境音とは言いがたいようなノイズが発生する場合もある。発音期間の特定を正確に行うためには、このような環境音とは言えないノイズの影響を受けないように、ノイズが発生する可能性のある期間を不感帯とし、この不感期間を避けて、ノイズレベルの測定期間および音信号の発音期間の特定を行う判定期間を定めるのが好ましい。以下に述べる各種の具体例は、このような観点から創作されたものである。
[具体例1:ネットワークを介して音声認識を利用したサービスを提供するシステム]
図8および図9は、ネットワークを介して音信号の認識や解析を利用したサービスをユーザに提供するシステムの構成例を各々示すものである。図8および図9に示す各例において、端末211および212はサービスを利用するユーザが操作する装置であり、例えば携帯電話やパーソナルコンピュータである。また、サーバ221および222は、ネットワークを介して端末211および212を利用するユーザからの要求を受信し、要求されたサービスを提供する装置である。
図8に示す例において、端末211は、前掲図1のマイク20と音信号処理装置10とを備えており、サーバ221は前掲図1の音信号認識装置40を備えている。このシステムにおいて、端末211内の音信号処理装置10では、トリガ信号取得部113によりトリガ信号が取得されるまでの期間、音信号取得部111によりマイク20からの音信号が取得され、音信号のフレームが第1バッファ121に格納される(図1参照)。そして、ユーザが例えば端末211に設けられたキー等の操作により音声認識を利用したサービスの提供を要求するコマンドを入力すると、このサービスを開始するためのネゴシエーションが端末211とサーバ221との間で行われる。このネゴシエーションが完了し、サーバ221からサービス開始許可メッセージが端末211に送られると、端末211内の音信号処理装置10のトリガ信号取得部113は、このサービス開始許可メッセージの受信イベントをトリガ信号として取得する。このようにしてトリガ信号取得部113によりトリガ信号が取得されると、それ以降、音信号取得部111により取得されるマイク20からの音信号は、第2バッファ122に格納され、この第2バッファ122に格納される音信号を対象として、特定部114による音信号の発音期間の特定処理が行われる。そして、発音期間内の音信号がネットワークを介してサーバ221に送られる。サーバ221では、音信号認識装置40により音信号の認識が行われる。そして、サーバ221は、音信号認識装置40による音信号の認識結果に基づき、端末211の利用者に対するサービスを行う。
図9に示す例では、端末212が、前掲図1のマイク20と音信号処理装置10と音信号認識装置40を備えており、サーバ222は前掲図1の音信号認識装置40を備えていない。前掲図8のシステムと異なり、この図9のシステムでは、音信号の認識処理が端末212側で行われる。それ以外の点は図8のシステムと同様である。この図9のシステムでも、音声認識を利用したサービスの開始のためのネゴシエーションが完了し、サービス開始許可メッセージが端末212に受信されたとき、端末212の音信号処理装置10では、この受信イベントがトリガ信号としてトリガ信号取得部113により取得され、特定部114による音信号の発音期間の特定処理が開始される。
[具体例2:キーフレーズ検出装置を利用したシステム]
図10に示すシステムは、上記具体例1のものと同様、ネットワークを介して音声認識を利用したサービスをユーザに提供するものである。この例において、端末213は、前掲図1のマイク20と音信号処理装置10とを備えるとともにキーフレーズ検出装置40eを備えており、サーバ223は前掲図1の音信号認識装置40を備えている。ここで、キーフレーズ検出装置40eは、音信号を認識するものであるが、サーバ223内の音信号認識装置40とは異なって簡易な構成のものであり、マイク20から与えられる音信号が例えば「認証開始」といった特定のキーフレーズを表しているか否かの判定を行い、特定のキーフレーズを検出したとき、キーフレーズ検出信号を出力する。
このキーフレーズ検出信号が発生すると、端末213は、音声認識を利用したサービスを開始するためのネゴシエーションをサーバ223との間で行う。また、音信号処理装置10のトリガ信号取得部113は、このキーフレーズ検出要求をトリガ信号として取得する。このようにしてトリガ信号取得部113によりトリガ信号が取得されると、それ以降のマイク20からの音信号は、音信号処理装置10の特定部114による発音期間の特定処理に引き渡される。
既に述べたように、この発音期間の特定処理では、音信号のS/N比を算出する。このS/N比の算出処理に用いるノイズレベルデータを得る際、トリガ信号の取得時点の直前において採取された音信号のフレームを用いるのは得策ではない。トリガ信号の取得時点の直前に採取された音信号のフレームは、ユーザによって発声されたキーフレーズの音信号のものである可能性が高いからである。
そこで、好ましい態様において、音信号処理装置10の特定部114は、図11に示すように、トリガ信号の取得時点の直前のキーフレーズの発音が行われた可能性のある所定時間長の期間を不感帯とする。そして、第1バッファ121に格納されている音信号のフレームのうちこの不感帯の前の所定時間長のノイズレベル測定期間内のフレームを用いてノイズレベルデータを算出する。そして、このノイズレベルデータをトリガ信号取得時点以降の判定期間内の音信号のS/N比算出に用いる。
他の好ましい態様では、キーフレーズ検出装置40eは、キーフレーズ検出信号を出力するだけでなく、キーフレーズの音信号の持続時間を測定し、その持続時間を音信号処理装置10に通知する。この態様において音信号処理装置10の特定部114は、通知された持続時間を上記不感帯の時間長として採用し、ノイズレベル測定期間を決定する。
[具体例3:音声認識処理が前処理を伴う場合への適用例]
例えば具体例1において音声認識を利用したサービスを開始させるに当たり、何らかの前処理が必要となる場合がある。例えば携帯電話のユーザに対し、音声認識を利用した電子商取引サービスを提供するような場合、それに先立って、前処理としてユーザ認証が行われるのが一般的である。そこで、この例では、認証コードの入力のためのキー操作等、前処理のための操作がなされたときに、これを検出してトリガ信号を発生するように音信号処理装置10のトリガ信号取得部113を構成する。
この場合において、トリガ信号取得部113が認証コードの入力のためのキー操作を他のキー操作と区別するのを容易にするために、認証コードを入力するための専用キーを設け、その専用キーの操作により入力されるのが認証コードであると解釈するように構成してもよい。認証コードの入力を開始する意思を示すための専用キーを携帯電話に設け、その専用キーの操作後に入力されるコードが認証コードであると解釈してもよい。
前処理のための操作が行われたことを検出したトリガ信号を発生するのではなく、前処理が正常終了したこと(例えばユーザ認証が成功したこと)を検出してトリガ信号を発生するようにしてもよい。
[具体例4:携帯電話等を介して音声認識を利用したサービスを提供する場合(その1)]
携帯電話等の携帯型電子機器の中には、可動部を有し、ユーザが使用するに当たって、この可動部を動かす必要のあるものがある。例えば図12に例示するようにユーザが表示部のあるフリップ301を回動させて使用する折りたたみ式携帯電話や、図13に例示するように操作部のあるスライド302をスライドして使用するスライド式携帯電話等である。この種の携帯型電子機器に音信号処理装置10を設け、上記具体例1のような音声認識を利用したサービスの提供に用いる場合、ユーザは、そのサービスの提供を受けるに当たって、まず、可動部たるフリップやスライドを動かし、携帯電話を使用可能な状態にする必要がある。
そこで、このような携帯型電子機器に上記音信号処理装置10を設ける場合には、フリップ301が回動されたとき、またはスライド302がスライドされたときにON状態になるセンサを設け、このセンサにトリガ信号取得部113を接続する。そして、センサがON状態になったとき、このONイベントをトリガ信号として取得するようにトリガ信号取得部113を構成する。
この態様では、フリップ301やスライド302等の可動部が動いている期間、その動きによってノイズが発生する。また、フリップ301が開かれ、スライド302がスライドされたとき、「カチッ」という音が発生する。そこで、この態様では、図14に示すように、可動部の動作音や「カチッ」という音が発生する可能性のある期間、具体的にはトリガ信号の取得時点の前mフレーム、後nフレームの期間を不感帯とする。そして、ノイズレベルデータを求めるに当たっては、第1バッファ121に記憶された音信号のうち最後のmフレームよりも前の期間のものをノイズレベルデータの算出に用いる。また、S/N比算出のためにサウンドレベルデータを求めるに当たっては、第2バッファ122に記憶された音信号のうち先頭のnフレームより後の期間のものをサウンドレベルデータの算出に用いる。このようにすることで、可動部の動きによって発生するノイズの影響により、発音期間の特定の根拠となるS/N比の算出結果が不正確なものになるのを防止することができる。
不感帯の長さを決定するパラメータm、nは、固定のパラメータでもよいが、フリップ301やスライド302などの動かし方はユーザによってばらつくこともあるので、携帯電話に設けられたテンキーなどの操作子の操作により調整できるように構成してもよい。
[具体例5:携帯電話等を介して音声認識を利用したサービスを提供する場合(その2)]
通常、携帯電話等の携帯型電子機器は、ユーザの手に持たれた状態で使用される。そこで、この適用例では、携帯型電子機器に対し、その筐体への人体の接触を検知するセンサを設け、このセンサにトリガ信号取得部113を接続する。そして、携帯型電子機器の筐体がユーザの手に持たれ、センサがON状態になったとき、トリガ信号を発生させるようにトリガ信号取得部113を構成する。
また、携帯電話がロック機能を持っている場合、ユーザが音声認識を利用したサービスを受けるためには携帯電話のロック解除を経る必要がある。このような場合、携帯電話に対してロック解除のための操作がなされたときに、これを検出してトリガ信号を発生するように音信号処理装置10のトリガ信号取得部113を構成する。
[具体例6.ゲートシステムなどへの適用例]
この適用例では、所定エリアに入場するユーザにサービスを提供するゲートシステムに音声認識を利用したサービスを提供する。図15に示すように、ゲートシステム230は、前掲図1のマイク20と、音信号処理装置10と、音信号認識装置40とを有している。また、ゲートシステム230には、その設置エリアへのユーザの入場を検出する入場検出装置240が接続されている。音信号処理装置10におけるトリガ信号取得部113は、ゲートシステム230の設置エリアへのユーザの入場が、入場検出装置240によって検出されたとき、このユーザの入場検出イベントをトリガ信号として取得する。
入場検出装置240の具体例としては、次のようなものが考えられる。まず、人感センサ、自動点灯装置に用いられているような非接触式の障害物センサを入場検出装置240として用いてもよい。あるいはゲートシステム230の設置エリアの床面に自動ドアで用いられているような体重センサを設け、この体重センサを入場検出装置240として用いてもよい。あるいはゲートシステム230の設置エリア内にICカードリーダを設け、このICカードリーダを用いて、ゲートシステムの利用者であることを示す情報の書き込まれたICカードのスキャンがなされたときに、ゲートシステム230の設置エリアへユーザの入場があったと判定してもよい。あるいはゲートシステム230の設置エリア内を撮像するカメラを設け、このカメラにより人間らしきものが撮像されたとき、ゲートシステム230の設置エリアへユーザが入場したと判定してもよい。あるいはゲートシステム230を構成する装置のうちユーザが触れる部分に接触センサを設け、その接触センサにより人体の接触を検知したとき、ゲートシステム230の設置エリアへユーザが入場したと判定してもよい。あるいはゲートシステム230にテンキーを用意し、このテンキーにより、ある番号が入力されたとき、あるいは入場ボタンを用意し、この入場ボタンが押されたとき、ゲートシステム230の設置エリアへユーザが入場したと判定してもよい。
[具体例7.音声ガイダンスを利用する適用例]
音声認識を利用したサービスを提供するシステムとして、必要な情報(例えば認証コード)の発声を要求する音声ガイダンスを出力し、この音声ガイダンスに合わせてユーザが発声する音声を収音して認識処理を施し、ユーザから与えられた情報を認識するシステムがある。図16は、このようなシステムに用いる音信号処理装置10aの構成例を示すものである。この音信号処理装置10aは、案内装置311を有する。この音信号処理装置10aは、例えば具体例1(図8)のサーバ221から音声ガイダンスを示すデータを受け取り、このデータを案内装置311に与える。案内装置311は、この与えられたデータに従い、スピーカ312から音声ガイダンスを放音させる。また、案内装置311は、この音声ガイダンスの放音期間はアクティブレベル、それ以外の期間は非アクティブレベルとなる放音期間信号を出力する。音信号処理装置10aにおけるトリガ信号取得部113は、この放音期間信号のアクティブレベルから非アクティブレベルへの立ち下がりをトリガ信号として取得する。
図17はこの例における音信号処理装置10aの動作を示すものである。この図17に示すように、ユーザは、音声ガイダンスが終了する都度、音声ガイダンスにより要求された情報を発声する。その際、音信号処理装置10は、音声ガイダンスの終了時点(放音期間信号の立ち下がり時点)をトリガとして、判定期間の動作に移行し、音信号処理装置10aは、以後、マイク20により採取される音信号を第2バッファ122(図1参照)に格納し、特定部114は、第2バッファ122内の音信号についてS/N比の算出および発音期間の特定を行う。そして、音信号処理装置10aは、発音期間内の音信号を例えば図8のサーバ221に送る。
この例において、トリガ信号の取得時点の直前においてマイク20により採取される音信号は、音声ガイダンスのものである。そこで、音信号処理装置10aの特定部114(図1参照)は、この音声ガイダンスの放音期間(放音期間信号がアクティブレベルである期間)を不感帯とする。そして、第1バッファ121に格納されている音信号のフレームのうちこの不感帯の前の所定時間長のノイズレベル測定期間内のフレームを用いてノイズレベルデータを算出する。そして、このノイズレベルデータをトリガ信号取得時点以降の判定期間内の音信号のS/N比算出に用いる。サーバ221は、音信号処理装置10aから受信される音信号の認識処理を行い、直前に送った音声ガイダンスデータが要求している事項に対応した認識結果が得られたとき、受領信号を音信号処理装置10aに送り、それから所定時間が経過した後、次の事項の発声を促す音声ガイダンスデータを送る。音信号処理装置10aでは、受領信号を受け取ったとき、判定期間を終了し、以後、マイク20により採取される音信号を第1バッファ121に格納する。
なお、以上のように第1バッファ121と第2バッファ122を使い分けるのではなく、音信号処理装置10aは、マイク20により採取される音信号を常に共通のFIFOバッファに格納するようにしてもよい。この態様において、特定部114は、FIFOバッファ内の音信号のうちトリガ信号取得時点以降のものは判定期間の音信号と解釈して発音期間の特定を行う。そして、音声ガイダンスが放音されて次のトリガ信号が取得されたときには、FIFOバッファ内の音信号のうち当該トリガ信号取得時点を終点とする音声ガイダンスの放音期間の前の所定期間の音信号(発音期間の音信号を除く)をノイズレベル測定期間の音信号と解釈するのである。
<C.変形例>
以上説明した実施形態は以下のように様々に変形してもよい。
(1)上記実施形態では、複数の周波数帯域ごとにノイズレベルを示すNLおよびサウンドレベルを示すFを算出した後、周波数帯域ごとのF/NLの平均値を算出することによりSNRを算出するものとした(式1乃至7参照)。それに代えて、例えば、S/N比算出部1142が全周波数帯域に関するNLおよびFを各1つずつ算出した後、SNR=F/NLとして算出するようにしてもよい。すなわち、周波数帯域の区分数は1であってもよい。
(2)上記実施形態においては、音信号に対しFFT部1141がFFT処理を施し、S/N比算出部1142が各周波数の振幅を算出することにより、周波数帯域ごとのパワーを示すFを算出するものとした。それに代えて、例えば、特定部114がFFT部1141の代わりに周波数帯域ごとのバンドパスフィルタを備えるようにし、各バンドパスフィルタにより濾波された音信号の振幅の平均値を上記(式6)および(式7)におけるFの代わりに用いることにより、SNRを算出するようにしてもよい。
さらに、FFT部1141やバンドパスフィルタを用いることなく、第1バッファ121に格納されているフレームに含まれる音信号の振幅の平均値で第2バッファ122に格納されているフレームに含まれる音信号の振幅の平均値を単純に除すことにより、SNRを算出するようにしてもよい。
(3)上記実施形態においては、S/N比算出部1142は各周波数成分のパワーを示すFを上記(式1)乃至(式5)に従い算出するものとした。それに代えて、例えば、以下の(式8)もしくは(式9)に従いFを算出するようにしてもよい。ただし、(式9)における「abs()」は()内の数値の絶対値を示す。
Figure 0004840149
また、上記実施形態においては、SNRを算出するにあたり、周波数帯域ごとに算出されたF/NLを単純平均するものとした(式7参照)。それに代えて、例えば、ユーザにより発音される音が有する割合が高いと予想される周波数成分を含む周波数帯域に関するF/NLに相対的に大きな値が設定されたウェイトを用いて、S/N比算出部1142がF/NLの加重平均を行うことにより、SNRを算出するようにしてもよい。
(4)上記実施形態においては、トリガ信号が取得された後に第1バッファ121の内容が変更されることはなく、いったんノイズレベルを示すNL(式6参照)が算出されると、その後の発音期間の特定処理においてNLが更新されることはないものとした。それに代えて、例えば、図5のステップS103におけるSNRが開始閾値を超えるか否かの判定結果がNoとなり、そのSNRの算出に用いられたフレームが非発音期間のものであることが確定した時点で、そのフレームを直近の環境雑音を示すフレームとして第1バッファ121に格納することにより、第1バッファ121の内容を更新するようにしてもよい。その場合、FFT部1141およびS/N比算出部1142は更新された第1バッファ121のフレームを用いてNLを再計算し、その後は再計算されたNLを用いてSNRの算出を行う。
(5)上記実施形態においては、ノイズレベルを示すNL(式6参照)を算出するにあたり、第1バッファ121に格納されている直近の5フレームを固定的に選択するものとした。それに代えて、例えば、第1バッファ121に格納されているフレームの中から異常値を示すフレームを除外し、適当と思われるフレームを選択してNLの算出に用いるようにしてもよい。具体例を挙げると、FFT部1141は第1バッファ121に格納されている10フレームの全てに関しFFT処理を施す。そして、S/N比算出部1142はそれら10フレームの全てに関し周波数帯域ごとのパワーを示すFを算出する。そして、S/N比算出部1142はそのようにして算出したFの平均値から所定の閾値以上に乖離するFを異常値として除外し、除外しなかったFを用いてNLを算出するようにすればよい。
(6)上記実施形態においては、第1バッファ121に格納されているフレームの各々に関し算出した周波数帯域ごとのパワーを示すFを単純平均することによりノイズレベルを示すNLを算出するものとした(式6参照)。それに代えて、例えば、新しいフレームほど大きなウェイトを与え、S/N比算出部1142が各フレームに関するFを加重平均することによりNLを算出するようにしてもよい。
(7)上記実施形態においては、開始閾値、開始満了回数、開始猶予回数、終了閾値および終了満了回数は予め音信号処理装置10に記憶されているものとしたが、例えば、ユーザの操作に応じてこれらの定数を変更可能としてもよい。
(8)上記実施形態において不感帯を設ける例として、携帯電話のフリップ等の可動部の動作イベントをトリガ信号として取得する場合と音声ガイダンスの終了イベントをトリガ信号として取得する場合を挙げた。しかし、これ以外にも、音信号の認識や解析を利用したサービスのシステムの形態によっては、トリガ信号の取得時点の近傍において環境音とは言えないノイズが発生する場合があり得る。そのような場合には、トリガ信号の取得時点の近傍においてノイズが発生する期間またはノイズが発生する可能性のある期間を不感帯とし、これを避けるようにノイズレベル測定期間または判定期間を設定すればよい。
(9)上記実施形態において、音信号処理装置10は、専用のハードウェアにより実現されてもよいし、音信号の入出力が可能な汎用コンピュータにアプリケーションプログラムに従った処理を実行させることにより実現されてもよい。音信号処理装置10が汎用コンピュータにより実現される場合、制御部11は汎用コンピュータが備えるCPU(Central Processing Unit)およびCPUの制御下で動作するDSP(Digital Signal Processor)が、アプリケーションプログラムに含まれる各モジュールに従った処理を同時並行して行うことにより、汎用コンピュータの機能として実現される。
本発明の一実施形態による音信号処理システムの構成を示すブロック図である。 同実施形態における第1バッファの構成を模式的に示した図である。 同実施形態における第2バッファの構成を模式的に示した図である。 同実施形態における周波数帯域の区分を示す図である。 同実施形態における発音期間の開始時点の特定処理のフローを示す図である。 同実施形態における発音期間の終了時点の特定処理のフローを示す図である。 同実施形態における発音期間の特定の様子を模式的に示した図である。 同実施形態の具体例1の第1の構成を示す図である。 同実施形態の具体例1の第2の構成を示す図である。 同実施形態の具体例2の構成を示す図である。 同具体例2の動作を示す図である。 同実施形態の具体例4において用いられる折りたたみ式携帯電話を例示する図である。 同実施形態の具体例4において用いられるスライド式携帯電話を例示する図である。 同具体例4の動作を示す図である。 同実施形態の具体例6の構成を示す図である。 同実施形態の具体例7の構成を示す図である。 同具体例7の動作を示す図である。
符号の説明
1…音信号処理システム、10,10a…音信号処理装置、11…制御部、12…記憶部、13…音信号出力部、14…発振器、20…マイク、40…音信号認識装置、111…音信号取得部、112…A/Dコンバータ、113…トリガ信号取得部、114…特定部、121…第1バッファ、122…第2バッファ、123…ノイズレベルデータ、124…サウンドレベルデータ、125…発音期間データ、1141…FFT部、1142…S/N比算出部、1143…条件判定部、211,212,213…端末、221,222,223…サーバ、40e…キーフレーズ検出装置、301…フリップ、302…スライド、311…案内装置、312…スピーカ、230…ゲートシステム、240…入場検出装置。

Claims (12)

  1. 継続的に音信号を取得する音信号取得手段と、
    現時点を終点とする過去の所定期間において前記音信号取得手段により取得された音信号を記憶し保持する記憶手段と、
    前記音信号の認識または解析を行う装置に前記音信号の認識または解析を開始させる条件の少なくとも一部を満たすイベントをトリガ信号として取得するトリガ信号取得手段と、
    前記トリガ信号の取得時以後に始点を持つ期間を判定期間とし、この判定期間内に前記音信号取得手段により取得された音信号を用いてサウンドレベルの指標値を算出し、前記トリガ信号の取得時点以前に始点および終点を持つ期間をノイズレベル測定期間とし、前記記憶手段に記憶された音信号であって前記ノイズレベル測定期間内のものを用いてノイズレベルの指標値を算出し、前記サウンドレベルの指標値を前記ノイズレベルの指標値で除すことによりS/N比を算出し、前記S/N比が所定の条件を満たすか否かを判定することにより、前記判定期間内に前記音信号取得手段により取得された音信号のうち発音期間の部分を特定する手段であって、前記トリガ信号の取得時点を途中に、または終期として含む不感帯を設け、この不感帯を避けて前記ノイズレベル測定期間または前記判定期間を設定する特定手段と
    を備えることを特徴とする音信号処理装置。
  2. 前記音信号処理装置は、ネットワークを介して音信号の認識または解析を利用したサービスを受けるために用いられる端末に設けられ、
    前記トリガ信号取得手段は、前記音信号の認識または解析を利用したサービスについてのサービス開始許可メッセージを前記端末が受信したとき、その受信イベントを前記トリガ信号として取得することを特徴とする請求項1に記載の音信号処理装置。
  3. 前記トリガ信号取得手段は、所定のキーフレーズが発声されたとき、キーフレーズの終了を検出して前記トリガ信号を取得することを特徴とする請求項1に記載の音信号処理装置。
  4. 前記特定手段は、前記キーフレーズの発声期間または発声された可能性のある期間を不感帯とし、この不感帯を避けて前記ノイズレベル測定期間を設定することを特徴とする請求項3に記載の音信号処理装置。
  5. 前記音信号処理装置は、ネットワークを介して音信号の認識または解析を利用したサービスを受けるために用いられる端末に設けられ、
    前記トリガ信号取得手段は、サービスの開始に先立って行われる前処理または前処理のためになされる端末の操作を検出して前記トリガ信号を取得することを特徴とする請求項1に記載の音信号処理装置。
  6. 前記音信号処理装置は、その使用開始に当たってユーザによって回動またはスライドされる可動部を具備する携帯型電子機器に設けられ、
    前記トリガ信号取得手段は、前記可動部の動きを検出することにより前記トリガ信号を取得することを特徴とする請求項1に記載の音信号処理装置。
  7. 前記特定部は、前記可動部の動きに起因したノイズが発生した可能性のある期間を不感帯とし、この不感帯を避けて前記ノイズレベル測定期間および前記判定期間を設定することを特徴とする請求項6に記載の音信号処理装置
  8. 前記音信号処理装置は、携帯型電子機器に設けられ、
    前記トリガ信号取得手段は、前記携帯型電子機器が人体に接触したことを検出して前記トリガ信号を取得することを特徴とする請求項1に記載の音信号処理装置。
  9. 前記音信号処理装置は、ロック機能を有する携帯型電子機器に設けられ、
    前記トリガ信号取得手段は、前記携帯型電子機器のロックを解除する操作を検出して前記トリガ信号を取得することを特徴とする請求項1に記載の音信号処理装置。
  10. 前記音信号処理装置は、所定エリアへ入場するユーザにサービスを提供するゲートシステムに設けられ、
    前記トリガ信号取得手段は、前記所定エリアへのユーザの入場を検出して前記トリガ信号を取得することを特徴とする請求項1に記載の音信号処理装置。
  11. 前記音信号処理装置は、必要な情報の発声を促す音声ガイダンスを放音する案内手段を具備し、
    前記トリガ信号取得手段は、前記音声ガイダンスの放音終了イベントをトリガ信号として取得し、
    前記特定手段は、前記音声ガイダンスの放音期間または放音された可能性のある期間を不感帯とし、この不感帯を避けて前記ノイズレベル測定期間を設定することを特徴とする請求項1に記載の音信号処理装置。
  12. 継続的に音信号を取得する処理と、
    現時点を終点とする過去の所定期間において取得された音信号を記憶し保持する処理と、
    前記音信号の認識または解析を行う装置に前記音信号の認識または解析を開始させる条件の少なくとも一部を満たすイベントをトリガ信号として取得する処理と、
    前記トリガ信号の取得時以後に始点を持つ期間を判定期間とし、この判定期間内に取得された音信号を用いてサウンドレベルの指標値を算出し、前記トリガ信号の取得時点以前に始点および終点を持つ期間をノイズレベル測定期間とし、記憶された音信号であって前記ノイズレベル測定期間内のものを用いてノイズレベルの指標値を算出し、前記サウンドレベルの指標値を前記ノイズレベルの指標値で除すことによりS/N比を算出し、前記S/N比が所定の条件を満たすか否かを判定することにより、前記判定期間内に取得された音信号のうち発音期間の部分を特定する処理であって、前記トリガ信号の取得時点を途中に、または終期として含む不感帯を設け、この不感帯を避けて前記ノイズレベル測定期間または前記判定期間を設定する処理と
    をコンピュータに実行させるプログラム。
JP2007004948A 2007-01-12 2007-01-12 発音期間を特定する音信号処理装置およびプログラム Expired - Fee Related JP4840149B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007004948A JP4840149B2 (ja) 2007-01-12 2007-01-12 発音期間を特定する音信号処理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007004948A JP4840149B2 (ja) 2007-01-12 2007-01-12 発音期間を特定する音信号処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2008170806A JP2008170806A (ja) 2008-07-24
JP4840149B2 true JP4840149B2 (ja) 2011-12-21

Family

ID=39698936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007004948A Expired - Fee Related JP4840149B2 (ja) 2007-01-12 2007-01-12 発音期間を特定する音信号処理装置およびプログラム

Country Status (1)

Country Link
JP (1) JP4840149B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220051672A1 (en) 2018-12-19 2022-02-17 Sony Group Corporation Information processing apparatus, information processing method, and program
CN114121005A (zh) * 2021-11-29 2022-03-01 Oppo广东移动通信有限公司 语音控制方法、装置、电子设备及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5876899A (ja) * 1981-10-31 1983-05-10 株式会社東芝 音声区間検出装置
JP2829014B2 (ja) * 1989-01-12 1998-11-25 株式会社東芝 音声認識装置及び方法
JPH02250532A (ja) * 1989-03-24 1990-10-08 Toshiba Corp 無線電話装置
JPH03159356A (ja) * 1989-11-16 1991-07-09 Nippon Telegr & Teleph Corp <Ntt> 音声応答認識装置の応答方法
JP2797616B2 (ja) * 1990-03-16 1998-09-17 松下電器産業株式会社 雑音抑圧装置
JP2757576B2 (ja) * 1991-03-07 1998-05-25 日本電気株式会社 音声応答装置の負荷試験用擬似呼装置
JPH0580794A (ja) * 1991-09-25 1993-04-02 Matsushita Electric Ind Co Ltd 音声認識装置
JPH0635497A (ja) * 1992-07-16 1994-02-10 Nippon Telegr & Teleph Corp <Ntt> 音声入力装置
US5617508A (en) * 1992-10-05 1997-04-01 Panasonic Technologies Inc. Speech detection device for the detection of speech end points based on variance of frequency band limited energy
FI100840B (fi) * 1995-12-12 1998-02-27 Nokia Mobile Phones Ltd Kohinanvaimennin ja menetelmä taustakohinan vaimentamiseksi kohinaises ta puheesta sekä matkaviestin
JP2000029486A (ja) * 1998-07-09 2000-01-28 Hitachi Ltd 音声認識システムおよび方法
JP2000163098A (ja) * 1998-11-25 2000-06-16 Mitsubishi Electric Corp 音声認識装置
US6324509B1 (en) * 1999-02-08 2001-11-27 Qualcomm Incorporated Method and apparatus for accurate endpointing of speech in the presence of noise
JP3654045B2 (ja) * 1999-05-13 2005-06-02 株式会社デンソー 音声認識装置
JP2001067091A (ja) * 1999-08-25 2001-03-16 Sony Corp 音声認識装置
JP2001075594A (ja) * 1999-08-31 2001-03-23 Pioneer Electronic Corp 音声認識システム
JP3588030B2 (ja) * 2000-03-16 2004-11-10 三菱電機株式会社 音声区間判定装置及び音声区間判定方法
JP2002073061A (ja) * 2000-09-05 2002-03-12 Matsushita Electric Ind Co Ltd 音声認識装置及びその方法
JP2003216182A (ja) * 2002-01-23 2003-07-30 Canon Inc 音声認識装置およびその制御方法、電話機
JP3940895B2 (ja) * 2002-02-18 2007-07-04 日本電気株式会社 音声認識装置及び方法
JP2004094077A (ja) * 2002-09-03 2004-03-25 Nec Corp 音声認識装置及び制御方法並びにプログラム
JP2004120264A (ja) * 2002-09-25 2004-04-15 Fuji Photo Film Co Ltd デジタルカメラ
JP2005241215A (ja) * 2004-02-27 2005-09-08 Mitsubishi Electric Corp 電気機器、冷蔵庫、冷蔵庫の操作方法
JP2005284492A (ja) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp 音声利用操作装置
CN101194304B (zh) * 2005-07-15 2011-06-22 雅马哈株式会社 用于确定声音发生周期的音频信号处理装置和音频信号处理方法

Also Published As

Publication number Publication date
JP2008170806A (ja) 2008-07-24

Similar Documents

Publication Publication Date Title
CN110808039B (zh) 信息处理装置、信息处理方法以及记录介质
CN110310623B (zh) 样本生成方法、模型训练方法、装置、介质及电子设备
JP6303971B2 (ja) 話者交替検出装置、話者交替検出方法及び話者交替検出用コンピュータプログラム
US10353476B2 (en) Efficient gesture processing
JP5708155B2 (ja) 話者状態検出装置、話者状態検出方法及び話者状態検出用コンピュータプログラム
KR101137181B1 (ko) 이동 장치의 다감각 음성 개선을 위한 방법 및 장치
EP3089158B1 (en) Speech recognition processing
CN111210021B (zh) 一种音频信号处理方法、模型训练方法以及相关装置
CN105989836B (zh) 一种语音采集方法、装置及终端设备
US20110320202A1 (en) Location verification system using sound templates
KR20190015488A (ko) 보이스 사용자 인터페이스
EP2747077A1 (en) Voice recognition system, recognition dictionary logging system, and audio model identifier series generation device
WO2006109515A1 (ja) 操作者認識装置、操作者認識方法、および、操作者認識プログラム
JP2007052496A (ja) ユーザ認証システム及びユーザ認証方法
EP1701338A1 (en) Speech recognition method
CN111028845A (zh) 多音频识别方法、装置、设备及可读存储介质
JP2004101901A (ja) 音声対話装置及び音声対話プログラム
JP5388447B2 (ja) 発音期間を特定する音信号処理装置および音信号処理方法
JP6239826B2 (ja) 話者認識装置、話者認識方法及び話者認識プログラム
JP2018045127A (ja) 音声認識用コンピュータプログラム、音声認識装置及び音声認識方法
JP2011002534A (ja) 音声認識装置
JP4840149B2 (ja) 発音期間を特定する音信号処理装置およびプログラム
JP2015082093A (ja) 異常会話検出装置、異常会話検出方法及び異常会話検出用コンピュータプログラム
JP6616182B2 (ja) 話者認識装置、判別値生成方法及びプログラム
JP2004317822A (ja) 感情分析・表示装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110427

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: 20110906

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110919

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141014

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees