説明

音声情報処理装置、音声情報処理方法、ならびに、プログラム

【課題】 入力される音声情報の周波数特性に応じて処理を変化させる音声情報処理装置等を提供する。
【解決手段】 音声情報処理装置201の入力受付部203が受け付けた音声情報をフーリエ変換部204がフーリエ変換し、パラメータ記憶部702に用意された配列の要素がパラメータとして周波数帯に対応付けられており、変化量計算部703は、周波数帯に含まれる成分の強度の総和によって、パラメータの値の変化量を求め、更新部704は、求めた変化量だけパラメータの値を変化させ、選択出力部705は、パラメータの値に基づいて、複数の処理項目からいずれかを選択して出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力される音声情報の周波数特性に応じて処理を変化させるのに好適な音声情報処理装置、音声情報処理方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【0002】
従来から、人間が声を出してマイクなどを介して音声情報をコンピュータに与え、当該音声情報に対応した処理をコンピュータに行わせる音声情報処理システムが提案されている。このようなシステムに関連する技術は、以下の文献に開示されている。
【特許文献1】特許第3500383号公報
【0003】
[特許文献1]においては、音声入力時において、より音声認識に適した文字列を案内表示することにより、ゲーム装置への指示を快適に進める技術が提案されている。
【発明の開示】
【発明が解決しようとする課題】
【0004】
一方で、計算資源の限られたゲーム装置では、音韻等の解析を行うことが難しい場合もある。したがって、入力された音声情報に基づいて、行うべき処理を決定するための、簡易な手法が求められている。
【0005】
特に、入力される音声の周波数特性に応じて複数ある処理項目からいずれかを、簡易に判別する手法が強く望まれている。
【0006】
本発明は、このような課題を解決するものであり、入力される音声情報の周波数特性に応じて処理を変化させるのに好適な音声情報処理装置、音声情報処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0008】
本発明の第1の観点に係る音声処理装置は、入力受付部、フーリエ変換部、パラメータ記憶部、変化量計算部、更新部、選択出力部を備え、以下のように構成する。
【0009】
すなわち、入力受付部は、音声情報の入力を受け付ける。典型的には、入力受付部はマイクなどの音声入力装置によって音声情報の入力を受け付けるが、音声情報は、空気や液体、個体などのこれらの媒質の圧力や位置などが振動する際の変位を数値化したものであり、ファイルに記録された音声情報やネットワークを介して入手される音声情報など、種々の音声情報に対して本音声情報処理装置を適用することができる。
【0010】
一方、フーリエ変換部は、入力を受け付けられた音声情報をフーリエ変換して、複数の周波数成分の強度を得る。典型的には、コンピュータを用いて高速フーリエ変換を行う。高速フーリエ変換は、各周波数成分の幅をf、処理の段数をNとしたときに、入力された音声情報を、0,f,2f,3f,…,(2N-1)fの周波数の強度成分に分解するものである。
【0011】
さらに、パラメータ記憶部には、複数の周波数帯のそれぞれに対応付けられるパラメータが記憶される。典型的には、周波数帯をM個とした場合、要素M個の配列pがメモリ内に用意され、フーリエ変換後の周波数成分のうち、
0 以上 (2N)f/M 未満の成分が、p[0]に対応付けられ、
(2N)f/M 以上 2×(2N)f/M 未満の成分が、p[1]に対応付けられ、
2×(2N)f/M 以上 3×(2N)f/M 未満の成分が、p[2]に対応付けられ、

i×(2N)f/M 以上 (i+1)×(2N)f/M 未満の成分が、p[i]に対応付けられ、

(M-1)×(2N)f/M 以上 M×(2N)f/M 未満の成分が、p[M-1]に対応付けられる。
【0012】
そして、変化量計算部は、所定の時間おきに、当該複数の周波数帯のそれぞれについて、得られた複数の周波数成分の強度のうち当該周波数帯に属する強度から、当該周波数帯に対応付けられるパラメータの変化量を求める。
【0013】
したがって、パラメータp[i]の変化量Δ[i]は、i×(2N)f/M 以上 (i+1)×(2N)f/M 未満の周波数成分の強度によって定められることになる。
【0014】
一方、更新部は、当該複数の周波数帯のそれぞれについて、パラメータ記憶部に当該周波数帯に対応付けられて記憶されるパラメータを、当該周波数帯に対して求められた変化量だけ変化させる。すなわち、各i (0≦i<M)について、p[i]の値をp[i]+Δ[i]に上書き更新するのである。
【0015】
そして、選択出力部は、パラメータ記憶部に記憶されるパラメータにより、複数の処理項目からいずれかを選択して出力する。
【0016】
パラメータp[i]のそれぞれの値が何らかの条件を満たすことをもって、複数の処理項目からいずれかを選択するのである。当該条件は、適用分野等に応じて、適宜設定することができる。
【0017】
本発明によれば、入力される音声情報の周波数特性に応じて処理を変化させることができる。
【0018】
また、本発明の音声情報処理装置において、変化量計算部は、当該複数の周波数帯のそれぞれについて、得られた複数の周波数成分の強度のうち当該周波数帯に属する強度の総和が
(a)所定の閾値以上である場合、当該総和にあらかじめ対応付けられた正値を変化量とし、
(b)連続して所定の閾値未満である時間が所定の閾時間以上である場合、当該パラメータの値の符号を反転した値を変化量とする
ように構成することができる。
【0019】
たとえば、Δ[i]を求める場合、i×(2N)f/M 以上 (i+1)×(2N)f/M 未満の成分の総和S[i]を求め、この値に対応付けられた正値をΔ[i]とするのである。S[i]に対応付けられた正値としては、たとえば、S[i]そのものや、S[i]に所定の正値を乗じたもの、S[i]に対して階段状に単調増加するように対応付けられた正値を用いるものなどが考えられる。
【0020】
なお、総和S[i]がある程度小さい、すなわち、本質的には無音に相当するがときおり雑音が混じる、という状態が所定の閾時間以上連続したときは、-p[i]をΔ[i]とする。これにより更新を行うと、p[i]の値は0にクリアされる。
【0021】
本発明は、パラメータの変化量を定める上記発明の好適実施形態である。
【0022】
また、本発明の音声情報処理装置は、仮想空間情報記憶部をさらに備え、以下のように構成する。
【0023】
すなわち、仮想空間情報記憶部には、仮想空間においてユーザの指示入力により移動するキャラクターと、当該キャラクターによる操作を受け付けるオブジェクトと、の位置が記憶される。
【0024】
一方、変化量計算部は、当該複数の周波数帯のそれぞれについて、得られた複数の周波数成分の強度のうち当該周波数帯に属する強度の総和が
(a)所定の閾値以上である場合、
(x)当該周波数帯が、当該周波数帯に属する強度の総和が最大となる周波数帯である場合、仮想空間情報記憶部に記憶されたキャラクターとオブジェクトの位置から、当該キャラクターと当該オブジェクトの間の距離を求め、当該総和にあらかじめ対応付けられた正値から、当該求められた距離にあらかじめ対応付けられた正値を減算した値を変化量とし、
(y)当該周波数帯が、当該周波数帯に属する強度の総和が最大となる周波数帯でない場合、当該総和にあらかじめ対応付けられた正値を変化量とし、
(b)連続して所定の閾値未満である時間が所定の閾時間以上である場合、当該パラメータの値の符号を反転した値を変化量とする。
【0025】
本発明の構成は、上記の発明と同様に、ある周波数帯において無音状態が続くとパラメータがクリアされる。ただし、仮想空間のキャラクターとオブジェクトの間の距離によって、パラメータの更新の仕方が変わる点が異なる。
【0026】
特に、S[0],…,S[M-1]のうち最大の値を持つS[j]については、キャラクターとオブジェクトの距離に応じた変化量Δ[j]を採用するが、i≠jの場合の変化量Δ[i]は、上記実施形態と同様である。
【0027】
本発明は、パラメータの変化量を定める上記発明の好適実施形態である。
【0028】
本発明のその他の観点に係る音声情報処理方法は、複数の周波数帯のそれぞれに対応付けられるパラメータが記憶されるパラメータ記憶部を用い、入力受付工程、フーリエ変換工程、変化量計算工程、更新工程、選択出力工程を備え、以下のように構成する。
【0029】
まず、入力受付工程では、音声情報の入力を受け付ける。
【0030】
一方、フーリエ変換工程では、入力を受け付けられた音声情報をフーリエ変換して、複数の周波数成分の強度を得る。
【0031】
さらに、変化量計算工程では、所定の時間おきに、当該複数の周波数帯のそれぞれについて、得られた複数の周波数成分の強度のうち当該周波数帯に属する強度から、当該周波数帯に対応付けられるパラメータの変化量を求める。
【0032】
そして、更新工程では、当該複数の周波数帯のそれぞれについて、パラメータ記憶部に当該周波数帯に対応付けられて記憶されるパラメータを、当該周波数帯に対して求められた変化量だけ変化させる。
【0033】
一方、選択出力工程では、パラメータ記憶部に記憶されるパラメータにより、複数の処理項目からいずれかを選択して出力する。
【0034】
本発明のその他の観点に係るプログラムは、コンピュータを上記の音声処理装置として機能させ、コンピュータに上記の音声処理方法を実行させるように構成する。
【0035】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【0036】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0037】
本発明によれば、入力される音声情報の周波数特性に応じて処理を変化させるのに好適な音声情報処理装置、音声情報処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【0038】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例1】
【0039】
図1は、プログラムを実行することにより、本発明の音声情報処理装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0040】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
【0041】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の音声情報処理装置が実現される。
【0042】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0043】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0044】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0045】
インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0046】
インターフェイス104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0047】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0048】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0049】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0050】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0051】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【0052】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0053】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0054】
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0055】
さらに、情報処理装置100には、インターフェース104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
【0056】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0057】
以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、音声情報処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【0058】
なお、理解を容易にするため、以下の説明では、RAM 103に用意された各変数領域の初期化などの処理については、適宜説明を省略するが、当業者であれば、必要な処理を実現することができる。
【0059】
(呼吸音と非呼吸音の弁別)
図2は、本実施形態に係る音声情報処理装置において、呼吸音と非呼吸音とを弁別する弁別機能部の概要構成を示す説明図である。以下、本図を参照して説明する。
【0060】
音声情報処理装置201の弁別機能部202は、入力受付部203、フーリエ変換部204、判断部205、非呼吸音出力部206、呼吸音出力部207を備えるが、用途に応じて非呼吸音出力部206と呼吸音出力部207とは、いずれか一方のみを採用し、他方を省略することとしても良い。
【0061】
なお、音声情報処理装置201は、本図に図示するように、項目選択機能部701をさらに備えることとしても良い。項目選択機能部701については、後述する。
【0062】
まず、入力受付部203は、音声情報の入力を受け付ける。典型的には、入力受付部203はマイクなどの音声入力装置によって音声情報の入力を受け付けるが、音声情報は、空気や液体、個体などのこれらの媒質の圧力や位置などが振動する際の変位を数値化したものであり、ファイルに記録された音声情報やネットワークを介して入手される音声情報など、種々の音声情報に対して本音声情報処理装置201を適用することができる。
【0063】
以下では、マイク111からの音声入力における波動の基準位置からの変位をインターフェース104を介して、CPU 101の入出力ポートから得ることができるものとして考える。CPU 101が有するポートからの読出命令を使うか、メモリマップされた入出力を採用するCPU 101の場合には、所定のアドレスからの値の読出命令を使うことで、入出力ポートから変位を読み出すことができる。
【0064】
さて、本実施形態では、マイク111からの音声情報のサンプリングレートをGとし、音声情報をバッファリングするためのリングバッファ領域をRAM 103に用意する。リングバッファは、以下のような2つのメンバーを持つ構造体によって表現することができる。
(1)変位を格納するための要素数Aの配列buf。各要素は、それぞれbuf[0],buf[1],…,buf[A-1]のようにしてアクセスが可能である。
(2)次に要素を追加すべき場所を表す添字next。
【0065】
以下、理解を容易にするため、マイク111からの音声情報をバッファリングするリングバッファ領域をinpと呼び、リングバッファinpの各メンバーは、inp.buf[0],inp.buf[1],…,inp.buf[A-1],inp.nextのように表記するものとする。
【0066】
8ビットサンプリングの場合は、配列bufの各要素は1バイトで表現され、16ビットサンプリングの場合は、配列bufの各要素は2バイトで表現される。上記のようにサンプリングレートがGであるから、リングバッファinpには、時間A/Gだけの音声情報を格納しておくことができる。したがって、直近の時間A/Gの音声情報が常にリングバッファinpに反映されているようにするための手法を以下に説明する。
【0067】
サンプリングレートGでリングバッファinpを最新の情報に更新するためには、CPU 101のタイマ割り込みを利用する。すなわち、時間間隔1/Gでタイマ割り込みを発生させ、割り込みハンドラでは、以下に説明する入力読み込み処理を実行する。
【0068】
なお、以降では、同じ時間間隔である処理を繰り返し行うためにタイマ割り込みを利用した実施形態を説明するが、たとえば繰り返しループ内で時間を計測して待機することにより、処理の単位が実行される時間間隔を一定にする等、そのほかの手法を採用することも可能である。
【0069】
また、以下では、理解を容易にするため、割り込み処理における割り込み禁止や割り込み許可の制御、セマフォ等を使用した排他制御については、適宜説明を省略する。当業者であれば、必要に応じて、これらの処理を適宜追加することができる。
【0070】
図3は、入力読み込み処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0071】
入力読み込み処理が起動されると、まず、CPU 101は、マイクからの音声情報の入力ポートから変位の値vを読み出す(ステップS301)。
【0072】
そして、値vをinp.buf[inp.next]に格納し(ステップS302)、inp.nextの値を(inp.next + 1)%Aに更新して(ステップS303)、リングバッファinpに値vを追加する。ここで、x % yは、xをyで割った余りを意味する。
【0073】
ステップS303の後、入力読み込み処理を終了する。割り込みによって本処理を駆動している場合には、割り込みハンドラを終了させる種々の処理も行う。
【0074】
このような処理を行うことで、リングバッファinpには、直近の時間A/G分の音声情報の変位を表すデータが格納され、古くなったデータは自動的に消去(上書き)されることとなる。
【0075】
このように、マイク111とCPU 101とリングバッファinpが用意されているRAM 103とが共働して、入力受付部203として機能する。
【0076】
さて、このようにして得られた音声情報を、フーリエ変換部204がフーリエ変換して、複数の周波数成分の強度を得る。典型的には、高速フーリエ変換を行う。高速フーリエ変換は、各周波数成分の幅をf、処理の段数をNとしたときに、入力された音声情報を、0,f,2f,3f,…,(2N-1)fの周波数の強度成分に分解するものである。
【0077】
上記のように、リングバッファinp内には、直近の時間A/G分の音声情報のみが格納されているから、フーリエ変換を行う対象は、inp.bufに格納されているA個分の変位データとするのが典型的である。
【0078】
したがって、フーリエ変換部204によるフーリエ変換の処理は、時間間隔A/Gで、そのときにinp.buf[0],…,inp.buf[A-1]を格納されている波動の変位データを対象に行えば良いこととなる。
【0079】
高速フーリエ変換の計算は、公知の技術により、CPU 101がリングバッファinpに格納されたデータを対象に行う。そして、フーリエ変換の結果は、RAM 103に用意された配列Fに格納する。すなわち、配列Fの要素F[0]には、周波数0(直流)の強度成分が、F[1]には、周波数fの強度成分が、F[2]には、周波数2fの強度成分が、…、F[2N-1]には、周波数2N-1fの強度成分が、それぞれ格納されるようになる。
【0080】
フーリエ変換は適切なタイミングで繰り返し行われるため、配列Fを参照すれば、音声情報の周波数分布の最新のものを得ることができる。
【0081】
なお、フーリエ変換を行う時間間隔は、A/G以下としても良い。たとえば、0<B≦Aなる整数Bを用いて、時間間隔B/Gでフーリエ変換を行う、としたときは、フーリエ変換の対象となる変位のデータ列は、inp.next≧Bの場合は、
inp.buf[next-B],inp.buf[next-B+1],…,inp.buf[next-2],inp.buf[next-1]
inp.next<Bの場合は、
inp.buf[A-(B-inp.next)],inp.buf[A-(B-inp.next)+1],…,inp.buf[A-2],inp.buf[A-1],inp.buf[0],inp.buf[next-B+1],…,inp.buf[next-2],inp.buf[next-1]
となる。これは、リングバッファinpから、最新のB個分の変位データを取り出すことに相当する。
【0082】
フーリエ変換部204が時間間隔B/Gで行うフーリエ変換処理の制御の流れをもう一度整理する。図4は、フーリエ変換部204が時間間隔B/Gで行うフーリエ変換処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0083】
まず、CPU 101は、リングバッファinpから、最新のB個分の音声情報の波動の変位データを取得する(ステップS401)。
【0084】
ついで、CPU 101は、当該B個分の変位データを高速フーリエ変換する(ステップS402)。
【0085】
そして、配列Fの要素F[0]に、周波数0(直流)の強度成分を、F[1]に、周波数fの強度成分を、F[2]に、周波数2fの強度成分を、…、F[2N-1]に、周波数2N-1fの強度成分を、それぞれ格納して(ステップS403)、本処理を終了する。
【0086】
このように、CPU 101が、リングバッファinpおよび配列Fが用意されたRAM 103と共働することによって、フーリエ変換部204として機能する。
【0087】
さて、常に、最新の音声情報の変位データはリングバッファinpに格納されることとなり、最新のフーリエ変換の結果は配列Fに格納されることとなる。そこで、これらの内容を参照して、呼吸音か非呼吸音かを判別するのが、判断部205である。
【0088】
判断部205は、以下のパラメータを用いる。
(a)受け付けられる音声情報のサンプリングレート。本実施形態では、上記のように、G[Hz]であり、実際には8000Hzである。
(b)フーリエ変換の周波数成分の周波数間隔。本実施形態では、上記のように、f[Hz]であり、実際には31.25Hzである。
(c)第1周波数帯。本実施形態では、31.25Hz以上187.5Hz以下である。
(d)第2周波数帯。本実施形態では、500Hz以上2000Hz以下である。これは、第1周波数帯よりも高い。
(e)第3周波数帯。本実施形態では、3812.5Hz以上4000Hz以下である。これは、第2周波数帯よりも高い。
【0089】
なお、この上限値4000Hzは、サンプリング定理によるものであり、サンプリング周波数Gのちょうど半分になっている。
(f)第1閾値。これは、呼吸音か非呼吸音かを判別する「感度」を示すもので、小さくすれば敏感に反応するが、それだけ呼吸音と誤判断する可能性も高くなる。大きければ反応は鈍くなるが、それだけ呼吸音と誤判断する可能性も高くなる。音声情報のサンプリングビット数に応じて適当な定数を定めても良いし、ユーザなどが適宜調整できることとしても良い。
(g)第2閾値。本実施形態では、当該第1閾値の0.375倍以上である。
(h)第3閾値。本実施形態では、当該第1閾値の0.25倍以上である。
(i)第1閾時間。本実施形態では、4/60秒程度である。
(j)第2閾時間。本実施形態では、4/60秒程度である。
(k)閾個数。本実施形態では、9個程度である。
【0090】
なお、これらの数値は、判断が適切に行われる範囲で上下しても良い。たとえば、上記の数値を90%〜110%程度に変更するのであれば、分別の性能に大きな差が出ることはない。
【0091】
さて、このようなパラメータのもとで、判断部205は、時間間隔C/Gで、以下の判断処理を行う。なお、C≦Bであり、典型的にはCはBの約数とする。
【0092】
図5は、判断部205が時間間隔C/Gごとに実行する判断処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0093】
まず、判断部205は、配列Fを参照して、以下の条件がすべて満たされているか否かを判断する(ステップS501)。
(s)第1周波数帯に含まれる周波数成分の強度のいずれか少なくとも1つが所定の第1閾値を超え、
(t)第2周波数帯に含まれる周波数成分の強度のうち所定の第2閾値を超えるものが所定の閾個数以上であり、
(u)第3周波数帯に含まれる周波数成分の強度のいずれか少なくとも1つが所定の第3閾値を超える。
【0094】
サンプリングレートG、フーリエ変換の周波数の分解精度fによって、第1周波数帯、第2周波数帯、第3周波数帯のそれぞれに、配列Fのどの要素が対応するか、は、一意に決まる。一般に、第1周波数帯、第2周波数帯、第3周波数帯のそれぞれに、配列Fに含まれる複数の要素が割り当てられることになる。
【0095】
したがって、第1周波数帯に含まれる配列Fの要素F[D1],…,F[E1]と、第1閾値H1に対して、
F[D1]>H1,…,F[E1]>H1
のいずれか少なくとも一つが成立すれば、条件(s)は満たされることとなる。
【0096】
また、第2周波数帯に含まれる配列Fの要素F[D2],…,F[E2]と、第2閾値H2に対して、
F[D2]>H2,…,F[E2]>H2
を満たすものが所定の閾個数以上であれば、条件(t)は満たされることとなる。
【0097】
さらに第3周波数帯に含まれる配列Fの要素F[D3],…,F[E3]と、第3閾値H3に対して、
F[D3]>H3,…,F[E3]>H3
のいずれか少なくとも一つが成立すれば、条件(u)は満たされることとなる。
【0098】
ここで、D1<…<E1<…<D2<…<E2<…<D3<…<E3である。
【0099】
さて、RAM 103には、以下の三つの領域が用意されている。
(a)肯定カウント領域c。上記条件を満たし始めてからの判断部205の処理回数を記録する。
(b)否定カウント領域d。上記条件を満たさなくなり始めてからの判断部205の処理回数を記録する。
(c)呼吸フラグ領域e。最後に判断したときの音声情報の状態が呼吸音であるか否かを記録する。
【0100】
さて、上記条件の判断の結果、上記条件が満たされる場合(ステップS501;Yes)、肯定カウント領域cの値を1増やし(ステップS502)、否定カウント領域dの値を0にする(ステップS503)。
【0101】
そして、条件を満たし始めての時間c×C/Gが、第1閾時間を超えているか否かを判断し(ステップS504)、超えていれば(ステップS504;Yes)、呼吸フラグ領域eを「呼吸」に設定して(ステップS505)、本処理を終了する。一方超えていなければ(ステップS504;No)、本処理を終了する。
【0102】
一方、上記条件が満たされない場合(ステップS501;No)、否定カウント領域dの値を1増やす(ステップS506)。そして、呼吸フラグ領域eの値が「呼吸」であるか否かを判定し(ステップS507)、「呼吸」でない場合(ステップS507;No)、本処理を終了する。
【0103】
一方「呼吸」である場合(ステップS507;Yes)条件を満たさなくなってからの時間d×C/Gが、第2閾時間を超えているか否かを判断し(ステップS508)、超えていれば(ステップS508;Yes)、肯定カウント領域cの値を0にし(ステップS509)、呼吸フラグ領域eを「非呼吸」に設定して(ステップS510)、本処理を終了する。一方超えていなければ(ステップS508;No),肯定カウント領域cの値を1増やし(ステップS511)、本処理を終了する。
【0104】
このような処理を行うことによって、判断部205は、
(a)上記条件が連続して満たされる時間が第1閾時間を超えた場合、呼吸音の入力がされ続けていると判断し、
(b)呼吸音の入力がされ続けていると判断された後、上記条件が連続して満たされない時間が第2閾時間以下である場合、呼吸音の入力がされ続けていると判断し、
(c)呼吸音の入力がされ続けていると判断された後、上記条件が連続して満たされない時間が第2閾時間を超える場合、呼吸音の入力が終わったと判断する
のである。
【0105】
このような判断を行うことにより、人間がマイクに向かって「ふーふー」のように息を吹きかけたり、「はーはー」のように興奮して息が荒くなったりしたときの音声情報と、そうでない普通の状態での発声による音声情報とを弁別するのであるが、上記の条件が第1閾時間以上満たされることをもって、呼吸音であると判断する。そして、連続して呼吸音であると判断されている間は、上記の条件が第2閾時間より短い間満たされなくとも、そのまま呼吸音であると判断し続ける。
【0106】
各閾時間や各閾値、閾個数の値は、音声情報を入力するユーザの種類、本音声情報処理装置が実現されるハードウェアの能力、音声情報のサンプリングレート、フーリエ変換の精度、本音声情報処理装置の用途などによって適宜設定することが可能である。
【0107】
したがって、CPU 101は、配列Fや領域c,d,eが確保されるRAM 103と共働して、判断部205として機能することとなる。
【0108】
さて、呼吸音か非呼吸音かの最新の判断の結果は、呼吸フラグ領域eに格納されており、当該領域の更新の時間間隔は、C/Gである。
【0109】
したがって、非呼吸音出力部206および呼吸音出力部207が実行する処理も、時間間隔をC/Gとするのが好適である。この場合、特に、判断部205による判断処理が終了した直後に、常に、非呼吸音出力部206および呼吸音出力部207が共働して実行する出力処理を実行するのが好適である。ただし、この時間間隔は、後に続く処理の内容等に応じて、適宜変更が可能である。
【0110】
上記のように、時間間隔C/Gで、非呼吸音や呼吸音の出力が行われるので、RAM 103には、要素数Cの配列を以下のように2つ用意する。
(a)非呼吸音を格納する配列voice。voice[0],…,voice[C-1]に、最新の時間長C/G分の非呼吸音の音声情報の変位データが格納される。
(b)呼吸音を格納する配列nonvc。nonvc[0],…,nonvc[C-1]に、最新の時間長C/G分の呼吸音の音声情報の変位データが格納される。
【0111】
配列voiceおよびnonvcは、時間間隔C/Gで更新されることとなる。
【0112】
図6は、時間間隔C/Gで起動される出力処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0113】
出力処理において、CPU 101は、まず、RAM 103に用意された呼吸フラグ領域eが「呼吸」であるか否かを調べる(ステップS601)。「呼吸」であれば(ステップS601;Yes)、リングバッファinpに格納された最新のC個分のデータを、配列voiceへコピーし(ステップS602)、配列nonvcの要素をすべて0にしてクリアして(ステップS603)、本処理を終了する。
【0114】
一方、「呼吸」でなければ(ステップS601;No)、リングバッファinpに格納された最新のC個分のデータを、配列nonvcへコピーし(ステップS604)、配列voiceの要素をすべて0にしてクリアして(ステップS605)、本処理を終了する。
【0115】
このようにして、配列voiceには、ユーザが通常の発声を行って入力したと考えられる音声情報の区間は、入力された音声情報がそのまま出力され、そうでない区間は、変位「0」が出力されることになる。
【0116】
一方、配列nonvcには、ユーザが通常の発声を行って入力したと考えられる音声情報の区間は、変位「0」が出力され、そうでない区間は、入力された音声情報がそのまま出力されることになる。
【0117】
したがって、CPU 101は、RAM 103に用意された呼吸フラグ領域eや配列voice,nonvcと共働して、非呼吸出力部206および呼吸出力部207として機能する。
【0118】
なお、用途に応じて、配列voice,nonvcのいずれか一方を適宜省略し、省略した配列に対する処理を実行しないこととしても良い。
【0119】
このように、本実施形態の弁別機能部202によれば、人が呼吸する際の音声とそれ以外の音声とを簡易に分別することができるようになり、人が呼吸する際の音声以外の音声を容易に得ることができるようになる。
【0120】
特に、適切なパラメータを採用することにより、少ない計算量で多くの人間について、人が呼吸する際の音声とそれ以外の音声とを簡易に分別することができるようになる。
【0121】
なお、上記の説明では、 音声情報に係る波動の変位のデータを保持するために、リングバッファや固定長の配列を用いたが、たとえばキューやリストなど、データ列を格納できるような各種の構造体を利用しても良い。
【0122】
(弁別された音声情報の利用)
以下では、呼吸音か、非呼吸音かの弁別を行った後の処理について、実例をあげて説明する。本実例では、入力された音声情報の周波数帯に応じて、仮想空間内にて実行される処理が変化するようなゲーム装置に適用する場合を考える。
【0123】
図7は、音声情報処理装置201において、このような処理項目を選択する機能を実現する項目選択機能部701の概要構成を示す説明図である。以下、本図を参照して説明する。
【0124】
項目選択機能部701は、入力受付部203、フーリエ変換部204を弁別機能部202と共有するほか、パラメータ記憶部702、変化量計算部703、更新部704、選択出力部705を備える。
【0125】
入力受付部203およびフーリエ変換部204における処理は、上述の通りであり、以降の処理内容選択機能の実現に際しては、各周波数成分の強度が入れられた配列F[0],…,F[2N-1]に格納された値と、必要に応じて呼吸フラグ領域eに格納された値とを参照する。
【0126】
さて、RAM 103には、複数の周波数帯のそれぞれに対応付けられるパラメータが記憶される。本実施形態では、複数の周波数帯の個数をMとし、周波数成分を等間隔に分割する。
【0127】
このため、RAM 103に要素M個の配列pを用意する。そして、フーリエ変換後の周波数成分のうち、
0 以上 (2N)f/M 未満の成分が、p[0]に対応付けられ、
(2N)f/M 以上 2×(2N)f/M 未満の成分が、p[1]に対応付けられ、
2×(2N)f/M 以上 3×(2N)f/M 未満の成分が、p[2]に対応付けられ、

i×(2N)f/M 以上 (i+1)×(2N)f/M 未満の成分が、p[i]に対応付けられ、

(M-1)×(2N)f/M 以上 M×(2N)f/M 未満の成分が、p[M-1]に対応付けられる。
【0128】
すなわち、p[i]には、周波数成分の配列の要素F[i×(2N/M)],…,F[(i+1)×(2N/M1)-1]が対応付けられることになる。この対応関係は適宜変更することができるため、以下では一般的に、p[i]にF[K[i]],…,F[L[i]]が対応付けられるものとして考える。
【0129】
このほか、配列pと同じ要素数を持つ配列sを用意する。これは、当該周波数帯において無音状態が続いている時間を計測するためのカウンタの配列である。
【0130】
上記実施形態と同様に、時間間隔D/Gごとに起動されるパラメータ更新処理によって、RAM 103に用意された配列pの中身を更新する。図8は、パラメータ更新処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0131】
パラメータ更新処理が開始されると、まず、CPU 101は、0≦i<Mのそれぞれのiについて、以下ステップS802〜S808の処理を繰り返す(ステップS801)。ここでは、計算の中間結果を保持するため、RAM 103内に用意された配列変数S[i]を用いる(Sは大文字)。
【0132】
また、RAM 103内には、配列変数s[i]も用意されている(sは小文字)。s[i]には、p[i]番目に対応する周波数帯に含まれる周波数成分の強度の総和が所定の閾値未満であることが続いた時間、すなわち、「音声が入力されていない無音状態が続いた時間」に相当する値が格納される。
【0133】
まず、呼吸フラグ領域eが「呼吸」であるか否かを判定し(ステップS802)、そうでない場合(ステップS802;No)、S[i] = Σj=K[i]L[i] F[j]を計算して、S[i]を、p[i]に対応する周波数帯に含まれる周波数成分の強度の総和とする(ステップS803)。一方、そうである場合(ステップS802;Yes)、S[i] = 0とする(ステップS804)。
【0134】
ついで、S[i]が、所定の閾値未満であるか否かを調べる(ステップS805)。所定の閾値としては、雑音を排除するほか、音の有無を区別できるような適当な値を採用する。またユーザが適宜調整できるようにしても良い。
【0135】
そして、S[i]が、所定の閾値未満でない場合(ステップS805;No)、すなわち、何らかの音声が入力されている場合は、「無音状態」ではないから、RAM 103内に用意された配列の要素s[i]を0にクリアする(ステップS806)。
【0136】
一方、S[i]が、所定の閾値未満である場合(ステップS805;Yes)、すなわち「無音状態」である場合、RAM 103内に用意された配列の要素s[i]の値を1増やす(ステップS807)。
【0137】
このように、配列の要素s[i]が0である場合は、現在が「無音状態」でないことを意味し、0以外の正の値である場合は、過去から現在までその正の値に相当する時間だけ、「無音状態」が続いたことを意味する。
【0138】
さて、このように繰り返しが終わり、S[0],…,S[M-1]がすべて求められたら、0≦i<Mのそれぞれのiについて、以下ステップS810〜S814の処理を繰り返す(ステップS809)。
【0139】
まず、s[i]の値が所定の閾時間以上か否か、すなわち、「無音状態」が所定の閾時間以上連続して現在まで続いているか否か、を判定する(ステップS810)。
【0140】
s[i]≧所定の閾時間である場合、すなわち、「無音状態」が所定の閾時間以上連続して現在まで続いている場合(ステップS810;Yes)、Δ[i]の値を-p[i]とする(ステップS811)。これにより後述する上書き更新を行うと、p[i]の値は必ず0にクリアされる。
【0141】
s[i]<所定の閾時間である場合、現在までの閾時間の間に、何らかの音が生じていた場合(ステップS810;No)、Δ[i]の値をS[i]に応じて求める(ステップS812)。Δ[i]の値をS[i]に応じて求める詳細な手法については、後述する。
【0142】
ついで、p[i]の値をp[i]+Δ[i]に上書き更新する(ステップS813)。繰り返しが終了したら、本処理を終了する。
【0143】
さて、Δ[i]の値をS[i]に応じて求める最も簡単な手法は、S[i]に適当な整定数を乗じた値をΔ[i]とすることである。このほか、
0≦S[i]<128ならばΔ[i] = 1
128≦S[i]<192ならばΔ[i] = 2
192≦S[i]<224ならばΔ[i] = 3
224≦S[i]<256ならばΔ[i] = 4
などのように、階段状に単調増加する対応付けを用意して、Δ[i]の値を定めても良い。
【0144】
また、S[0],…,S[M-1]で値が最大のものを探す。これをS[j]とすると、上記のように各Δ[i]を求めた後で、Δ[j]のみを修正する手法も考えられる。
【0145】
すなわち、RAM 103内に用意された仮想空間情報記憶部(図示せず)に、仮想空間情報記憶部には、仮想空間においてユーザの指示入力により移動するキャラクターと、当該キャラクターによる操作を受け付けるオブジェクトと、の位置が記憶されるものとし、一般的なゲーム技術によって、これらの情報が更新されるものとする。
【0146】
そして、キャラクターとオブジェクトの距離をrとしたときに、rが増加すると増加する正値wを、Δ[j]から減算するのである。
【0147】
正値wの求め方としては、たとえば、ある正定数X,Y,Zを用いて、 w = X(1-1/r) + Y や、 w = X(1-1/(r(j+Z)) + Y などとする手法などが考えられる。
【0148】
このようにすると、キャラクターとオブジェクトの距離rが近ければ近いほどwの値は大きくなる。また、jを用いる後者の計算式では、総和強度が最大の周波数帯が高ければ高いほど、キャラクターとオブジェクトの距離rが遠くなっても、wの値が大きいままとなる。
【0149】
上記の手法に加えて、さらに、S[j]の値が一定値以下である場合には、Δ[j]の修正は行わず、そのまま利用する、という手法を採用しても良い。
【0150】
また、本実施形態では、「無音状態」が現在まで続いている時間が一定以上になっている場合(ステップS810;Yes)、Δ[i]を-p[i]に定めてから(ステップS811)、p[i]にΔ[i]を加算してp[i]をクリアしているが(ステップS813)、「無音状態」が現在まで続いている時間が一定以上になっている場合(ステップS810;Yes)、直接p[i]を0にクリアしてからステップS809に戻ることとしても良い。
【0151】
このように、CPU 101は、RAM 103と共働して、パラメータ更新処理を実行し、変化量計算部703および更新部704として機能する。これによって、パラメータp[0],…,p[M-1]には、これまでに入力された音声情報の周波数特性に応じたパラメータが記録されるのである。
【0152】
さて、選択出力部705は、必要に応じて、パラメータp[0],…,p[M-1]の値に基づいて、複数の処理項目からいずれかを選択して出力する。
【0153】
たとえば、仮想世界をさまようキャラクターが扉のオブジェクトを発見したとき、マイクから声を入力し続けると、パラメータp[0],…,p[M-1]の値が増加していく。
【0154】
たとえば、扉のオブジェクトに割り当てられた条件として、「p[M-4],…,p[M-1]のいずれかが、ある値を超えたときに扉が開く」というものであるならば、当該条件が満たされるかどうかを選択出力部705が判断し、満たされる場合には「扉が開く」という処理項目を出力し、満たされない場合には「扉が開かない」という処理項目を出力して、ゲームの仮想世界を制御する制御部に処理をさせるのである。この条件は、高い声で叫び続ければ扉が開く、というものに相当する。
【0155】
処理項目としてどのようなものを用意し、各処理項目が選択される条件としてパラメータp[0],…,p[M-1]の値が何を満たすこととするか、は、用途や適用分野等に応じて適宜設定することができる。
【0156】
典型的には、あるパラメータの集合p[R],…,p[T]のうち、いずれか少なくとも一つがある値を超える、という条件や、p[R],…,p[T]の総和がある値を超える、という条件などが採用できる。
【0157】
このように、CPU 101は、RAM 103と共働して、選択出力部705として機能することとなる。
【0158】
なお、上記実施形態においては、呼吸フラグ領域eを参照していた(ステップS802)が、この処理は省略し、常にステップS803が実行されることとしても良い。
【0159】
このほか、複数の処理項目からいずれかを選択する態様としては、以下のようなものが考えられる。
【0160】
たとえば、仮想世界に置かれている爆弾をキャラクターが拾い、これを岩の前に置いて爆発させることによって、岩を破壊して、岩によって閉ざされた洞窟に出入りができるようにするゲームにおいては、上記の処理項目の種類として爆弾のタイマーのオンやオフ、爆発までの時間設定を採用することができる。
【0161】
具体的には、プレイヤーが一定周波数の高い声を出すとその声が持続した時間によって爆発までの時間設定がされ(爆弾に用意されている導火線の長さが、その周波数帯の声が出ている間だけ延びる等)、その後で一定周波数の低い声を出すと爆発までのタイマーが開始される(導火線の先端に火が着いて、火が燃えて導火線が短くなり、爆弾本体に火が到達すると爆発する等)、などである。
【0162】
このほか、音声入力された声の周波数やキャラクターと爆弾の距離に応じて、爆発のタイミングが変化するような応用をすることもできる。
【0163】
本実施形態によれば、入力される音声情報の周波数特性に応じて処理を変化させることができる。
【産業上の利用可能性】
【0164】
以上説明したように、本発明によれば、入力される音声情報の周波数特性に応じて処理を変化させるのに好適な音声情報処理装置、音声情報処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【0165】
【図1】本発明の音声情報処理装置が実現される典型的な情報処理装置の概要構成を示す模式図である。
【図2】本実施形態に係る音声情報処理装置において、呼吸音と非呼吸音とを弁別する弁別機能部の概要構成を示す説明図である。
【図3】入力読み込み処理の制御の流れを示すフローチャートである。
【図4】フーリエ変換処理の制御の流れを示すフローチャートである。
【図5】判断処理の制御の流れを示すフローチャートである。
【図6】出力処理の制御の流れを示すフローチャートである。
【図7】処理項目を選択する機能を実現する項目選択機能部の概要構成を示す説明図である。
【図8】パラメータ更新処理の制御の流れを示すフローチャートである。
【符号の説明】
【0166】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
201 音声情報処理装置
202 弁別機能部
203 入力受付部
204 フーリエ変換部
205 判断部
206 非呼吸音出力部
207 呼吸音出力部
701 項目選択機能部
702 パラメータ記憶部
703 変化量計算部
704 更新部
705 選択出力部

【特許請求の範囲】
【請求項1】
音声情報の入力を受け付ける入力受付部、
前記入力を受け付けられた音声情報をフーリエ変換して、複数の周波数成分の強度を得るフーリエ変換部、
複数の周波数帯のそれぞれに対応付けられるパラメータが記憶されるパラメータ記憶部、
所定の時間おきに、当該複数の周波数帯のそれぞれについて、前記得られた複数の周波数成分の強度のうち当該周波数帯に属する強度から、当該周波数帯に対応付けられるパラメータの変化量を求める変化量計算部、
当該複数の周波数帯のそれぞれについて、前記パラメータ記憶部に当該周波数帯に対応付けられて記憶されるパラメータを、当該周波数帯に対して前記求められた変化量だけ変化させる更新部、
前記パラメータ記憶部に記憶されるパラメータにより、複数の処理項目からいずれかを選択して出力する選択出力部
を備えることを特徴とする音声情報処理装置。
【請求項2】
請求項1に記載の音声情報処理装置であって、
前記変化量計算部は、当該複数の周波数帯のそれぞれについて、前記得られた複数の周波数成分の強度のうち当該周波数帯に属する強度の総和が
(a)所定の閾値以上である場合、当該総和にあらかじめ対応付けられた正値を変化量とし、
(b)連続して所定の閾値未満である時間が所定の閾時間以上である場合、当該パラメータの値の符号を反転した値を変化量とする
ことを特徴とする音声情報処理装置。
【請求項3】
請求項1に記載の音声情報処理装置であって、
仮想空間においてユーザの指示入力により移動するキャラクターと、当該キャラクターによる操作を受け付けるオブジェクトと、の位置が記憶される仮想空間情報記憶部
をさらに備え、
前記変化量計算部は、当該複数の周波数帯のそれぞれについて、前記得られた複数の周波数成分の強度のうち当該周波数帯に属する強度の総和が
(a)所定の閾値以上である場合、
(x)当該周波数帯が、当該周波数帯に属する強度の総和が最大となる周波数帯である場合、前記仮想空間情報記憶部に記憶されたキャラクターとオブジェクトの位置から、当該キャラクターと当該オブジェクトの間の距離を求め、当該総和にあらかじめ対応付けられた正値から、当該求められた距離にあらかじめ対応付けられた正値を減算した値を変化量とし、
(y)当該周波数帯が、当該周波数帯に属する強度の総和が最大となる周波数帯でない場合、当該総和にあらかじめ対応付けられた正値を変化量とし、
(b)連続して所定の閾値未満である時間が所定の閾時間以上である場合、当該パラメータの値の符号を反転した値を変化量とする
ことを特徴とする音声情報処理装置。
【請求項4】
複数の周波数帯のそれぞれに対応付けられるパラメータが記憶されるパラメータ記憶部を用いる音声情報処理方法であって、
音声情報の入力を受け付ける入力受付工程、
前記入力を受け付けられた音声情報をフーリエ変換して、複数の周波数成分の強度を得るフーリエ変換工程、
所定の時間おきに、当該複数の周波数帯のそれぞれについて、前記得られた複数の周波数成分の強度のうち当該周波数帯に属する強度から、当該周波数帯に対応付けられるパラメータの変化量を求める変化量計算工程、
当該複数の周波数帯のそれぞれについて、前記パラメータ記憶部に当該周波数帯に対応付けられて記憶されるパラメータを、当該周波数帯に対して前記求められた変化量だけ変化させる更新工程、
前記パラメータ記憶部に記憶されるパラメータにより、複数の処理項目からいずれかを選択して出力する選択出力工程
を備えることを特徴とする音声情報処理方法。
【請求項5】
コンピュータを、
音声情報の入力を受け付ける入力受付部、
前記入力を受け付けられた音声情報をフーリエ変換して、複数の周波数成分の強度を得るフーリエ変換部、
複数の周波数帯のそれぞれに対応付けられるパラメータが記憶されるパラメータ記憶部、
所定の時間おきに、当該複数の周波数帯のそれぞれについて、前記得られた複数の周波数成分の強度のうち当該周波数帯に属する強度から、当該周波数帯に対応付けられるパラメータの変化量を求める変化量計算部、
当該複数の周波数帯のそれぞれについて、前記パラメータ記憶部に当該周波数帯に対応付けられて記憶されるパラメータを、当該周波数帯に対して前記求められた変化量だけ変化させる更新部、
前記パラメータ記憶部に記憶されるパラメータにより、複数の処理項目からいずれかを選択して出力する選択出力部
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2007−94001(P2007−94001A)
【公開日】平成19年4月12日(2007.4.12)
【国際特許分類】
【出願番号】特願2005−283185(P2005−283185)
【出願日】平成17年9月29日(2005.9.29)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】