JP4437993B2 - 音声処理装置、音声処理方法、ならびに、プログラム - Google Patents

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

Info

Publication number
JP4437993B2
JP4437993B2 JP2006077523A JP2006077523A JP4437993B2 JP 4437993 B2 JP4437993 B2 JP 4437993B2 JP 2006077523 A JP2006077523 A JP 2006077523A JP 2006077523 A JP2006077523 A JP 2006077523A JP 4437993 B2 JP4437993 B2 JP 4437993B2
Authority
JP
Japan
Prior art keywords
displacement
variable
output
stored
waveform
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.)
Active
Application number
JP2006077523A
Other languages
English (en)
Other versions
JP2007258828A (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.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2006077523A priority Critical patent/JP4437993B2/ja
Publication of JP2007258828A publication Critical patent/JP2007258828A/ja
Application granted granted Critical
Publication of JP4437993B2 publication Critical patent/JP4437993B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stereophonic System (AREA)

Description

本発明は、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ等を、簡易な計算によリ実現する音声処理装置、音声処理方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
従来から、音声情報処理においては、各種の技術が提案されており、たとえば、以下の文献に開示されている。
特開2005−208196号公報
ここで、[特許文献1]には、入力された音声情報を各周波数成分に分解する技術が開示されており、具体形には、高速フーリエ変換を利用することとしている。
高速フーリエ変換によれば、入力された音声情報を、所定の分解能で複数の周波数成分に分解できる。したがって、ハイパスフィルタを実現する場合には、低周波数帯の周波数成分を無視し、ローパスフィルタを実現する場合には、高周波数帯の周波数成分を無視し、バンドパスフィルタの場合には、所望の周波数帯以外の周波数成分を無視して、逆フーリエ変換すれば良いこととなる。
しかしながら、計算機資源が豊かでない場合、たとえば、家庭用ゲーム装置や携帯用ゲーム装置にてこのような各種の音声フィルタを実現したい場合、計算速度やメモリ容量の観点から、高速フーリエ変換を利用できない場合もある。
したがって、簡易な計算により高速な処理が可能で、メモリ使用量も少なくてすむような音声フィルタを実現したい、との要望は大きい。
本発明は、以上のような課題を解決するものであって、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ等を、簡易な計算によリ実現する音声処理装置、音声処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第1の観点に係る音声処理装置は、入力受付部、出力部、差分計算部、変位計算部を備え、以下のように構成する。
まず、入力受付部は、入力波形の変位の入力を順次受け付ける。
ここで、入力波形として考えられるものは、音声情報であり、典型的にはPCM(Pulse Coded Module)信号である。入力波形は、時間の経過によって基準位置からのずれがどのように変化するかをあわらす情報で、サンプリング周波数(たとえば、22050Hzや44100Hz、88200Hz等。)で、所定の精度の数値(たとえば、8ビットや16ビット、24ビット等。)が変位として得られるのが典型的である。
さらに、変位計算部は、出力波形の変位を順次計算する。その計算の具体的な手法については後述する。
一方、出力部は、変位計算部により計算された出力波形の変位を順次出力する。変位計算部における処理については後述する。
出力部は、本音声処理装置の出力を担う部分であるが、後述するように、ある時点で出力部から出力された出力波形の変位を、それより後の時点の出力波形の変位を計算する際に利用する。
入力変位が1つに対して出力変位が1つ対応するため、また、入力波形の変位の入力がされる時間間隔と同じ時間間隔で、出力波形の変位の出力がされるように構成するのが一般的であるが、適宜バッファリング処理を行っても良い。
さらに、差分計算部は、当該入力波形の変位のうち最後に受け付けられた入力波形の変位と、当該出力波形の変位のうち最後に出力された出力波形の変位と、の差分を計算する。
ここで「最後」とは、「現時点」から見た「最後」であり、「現時点での最新」の意味である。すなわち、ここでの「最後に受付けられた入力波形の変位」とは、現時点で入力受付部により受け付けられた最新の入力波形の変位を意味し、「最後に出力された出力波形の変位」とは、現時点で出力部により出力された最新の出力波形の変位を意味する。また、出力部は、変位計算部が計算した出力波形の変位を順次出力するから、「最後に出力された出力波形の変位」は、「最後に計算された出力波形の変位」に等しい。
したがって、差分計算部の処理を行うには、最新の入力と出力の変位のみをメモリ内に蓄積しておけば良い。また、差分計算部は、出力部もしくは変位計算部からフィードバックを受ける、と考えることができる。
一方、変位計算部は、当該出力波形の変位のうち最後に出力された出力波形の変位と、当該計算された差分のうち最後に計算された差分に0より大きく1より小さい係数を乗じたものと、の和を当該出力波形の変位のうち次に出力すべき出力波形の変位の計算結果とする。
上記のように、「最後に出力された出力波形の変位」とは、現時点で出力部により出力された最新の出力波形の変位、すなわち、現時点で変位計算部により計算された最新の出力波形の変位であり、「最後に計算された差分」とは、源時点で差分計算部により計算された最新の差分である。そして、変位計算部は、これらの「最新の出力波形の変位」と「最新の差分」から、「次の出力波形の変異」を計算するのである。
したがって、変位計算部の処理を行うには、最新の出力の変位と最新の差分のみをメモリ内に蓄積しておけば良い。
変位計算部は、差分計算部によって計算された差分に適当な係数を乗じて出力波形の変位に加算する。出願人らの実験によれば、このようなディジタル処理によって、ローパスフィルタとして機能することが判明している。また、当該係数はローパスフィルタとしての「強さ」「弱さ」に相当するもので、当該係数を小さくすると高音が小さくなり(強いローパスフィルタ)、当該係数を大きくすると高音が大きくなる(弱いローパスフィルタ)。
本発明によれば、メモリ使用量が少なく、簡易な計算により、1つの係数に与える数値によって容易に強弱の調整ができるローパスフィルタを実現することができる。
本発明の第2の観点に係る音声処理装置は、入力受付部、出力部、差分計算部、変位計算部を備え、以下のように構成する。
すなわち、入力受付部は、ある時点iにおける入力波形の変位aiの入力を受け付ける。
ここで、入力波形として考えられるものは、上記と同様の音声情報である。また、サンプリングされた時間順にiが0,1,2,3,…のように増えていく、と考えることができる。
一方、出力部は、変位計算部により計算されたある時点iにおける第1の出力波形の変位xiを出力する。
このように、本発明では、入力受付部と同じサンプリング間隔で、出力部が出力波形の変位を出力する。
一方、差分計算部は、ある時点iの直後の時点i+1における当該入力波形の変位ai+1と、当該第1の出力波形の変位xiと、の差分
bi = ai+1 - xi
を計算する。
したがって、差分計算部が利用するデータは、最新の入力波形の変位と最新の出力波形の変位のみとなるので、データのローカリティを高くすることができ、利用する計算機によっては、キャッシュ内にデータがすべて入るため、高速な処理が期待できる。
一方、変位計算部は、当該第1の出力波形の当該変位xi+1を、当該第1の出力波形の変位xiと、当該差分biと、所定の0より大きく1より小さい係数kとから、
xi+1 = xi + kbi
と計算する。
したがって、変位計算部が利用するデータは、直前の処理によって得られた最新の差分と最新の出力波形の変位のみとなるので、データのローカリティを高くすることができ、利用する計算機によっては、キャッシュ内にデータがすべて入るため、高速な処理が期待できる。
係数kはローパスフィルタとしての「強さ」「弱さ」に相当するもので、係数kを小さくすると高音が小さくなり(強いローパスフィルタ)、係数kを大きくすると高音が大きくなる(弱いローパスフィルタ)。
本発明によれば、メモリ使用量が少なく、簡易な計算により、1つの係数kに与える数値によって容易に強弱の調整ができるローパスフィルタを実現することができる。
また、本発明の音声処理装置において、変位計算部は、当該第1の出力波形の変位の初期値x0として、当該入力波形の変位の初期値a0を計算結果とするように構成することができる。
本発明は、上記発明の好適実施形態に係るものである。出力波形の変位の初期値x0としては、任意の数値を採用することができるが、本発明では、入力波形の変位の初期値a0を採用することする。
本発明によれば、音声処理の際に音声の冒頭に発生しがちな「ボツ音」「ポツ音」と呼ばれる雑音が生じるのをできるだけ防止することができる。
また、本発明の音声処理装置(ローパスフィルタに係るもの。)は、係数変化部をさらに備え、以下のように構成することができる。
まず、ある時点iにおける当該入力波形の変位aiは、仮想空間内に配置された発音体に係る音波の波形の変位である。
当該仮想空間内に配置された発音体として典型的なものは、ゲーム世界に配置されたキャラクター、動物、怪物、乗物、機械などのオブジェクトであり、その音波とは、当該キャラクター等が発する声や音をあらわすものである。当該音波としては、あらかじめ用意されたPCMデータを採用しても良いし、音声ジェネレータによって生成したものであっても良い。また、プレイヤー自身が操作するキャラクターが発する音波として、マイクによって入力されたプレイヤー自身の声を利用することも可能である。
そして、係数変化部は、当該仮想空間内における所定の注目点と、当該発音体との距離が大きくなると、当該所定の係数kが小さくなるように変化させる。
現実世界の音声の伝搬では、距離が遠くなると、高周波成分が落ちて中音域のみが残る減少が見られる。そこで、距離が離れると係数kを小さくして、高音域をより大きく除去するようなローパスフィルタとして機能させるのである。
本発明によれば、仮想世界における音声処理によって、発音体との距離をユーザによりリアルに感じさせるような音声処理装置を提供することができる。
また、本発明の音声処理装置において、出力部は、当該第1の出力波形の変位xiを出力するのにかえて、第2の出力波形の変位として、当該入力波形の変位aiと、当該第1の出力波形の変位xiと、の差
yi = ai - xi
を、出力するように構成することができる。
前述の発明はローパスフィルタに相当するものであるから、原音からローパスフィルタの出力を減算すれば、ハイパスフィルタとなる。そして、利用するデータのローカリティや計算が容易であること、ハイパスフィルタとしての強弱の調整が容易であることは、前述のローパスフィルタと同様である。
本発明によれば、省メモリで簡易な計算により、強弱が容易に調整可能なハイパスフィルタを実現することができる。
また、本発明の音声処理装置(ハイパスフィルタに係るもの。)は、係数変化部をさらに備え、ある時点iにおける当該入力波形の変位aiは、仮想空間内に配置された発音体に係る音波の波形の変位であり、係数変化部は、当該仮想空間内における所定の注目点と、当該発音体との距離が大きくなると、当該所定の係数kが大きくなるように変化させる。
現実世界の音声の伝搬では、距離が遠くなると、低周波成分が落ちて中音域のみが残る減少が見られる。そこで、距離が離れると係数kを大きくして、低音域をより大きく除去するようなハイパスフィルタとして機能させるのである。
本発明によれば、仮想世界における音声処理によって、発音体との距離をユーザによりリアルに感じさせるような音声処理装置を提供することができる。
本発明のその他の観点に係る音声処理装置は、上記の音声処理装置のうち、ローパスフィルタに係るもの(以下「ローパス処理装置」という。)と、上記の音声処理装置のうち、ハイパスフィルタに係るもの(以下「ハイパス処理装置」という。)と、の2つに、直列に処理させ、当該ローパス処理装置で用いる係数は、当該ハイパス処理装置で用いる係数より大きいように構成する。
上記のような係数の大小関係を設けることにより、中音域をよく通過させ、高音域と低音域を除去するようなバンドパスフィルタを実現するのである。
本発明によれば、省メモリで簡易な計算により、2つの係数の値を変化させることで通過させる周波数帯を容易に調整することができるバンドパスフィルタを実現することができる。
本発明のその他の観点にかかる音声処理方法は、入力受付部、出力部、差分計算部、変位計算部を備える音声処理装置にて実行され、入力受付工程、出力工程、差分計算工程、変位計算工程を備え、以下のように構成する。
ここで、入力受付工程では、入力受付部が、入力波形の変位の入力を順次受け付ける。
さらに、変位計算工程では、変位計算部が、出力波形の変位を順次計算する。
一方、出力工程では、出力部が、変位計算工程にて計算された出力波形の変位を順次出力する。
さらに、差分計算工程では、差分計算部が、当該入力波形の変位のうち最後に受け付けられた入力波形の変位と、当該出力波形の変位のうち最後に出力された出力波形の変位と、の差分を計算する。
そして、変位計算工程では、変位計算部が、当該出力波形の変位のうち最後に出力された出力波形の変位と、当該計算された差分のうち最後に計算された差分に0より大きく1より小さい係数を乗じたものと、の和を当該出力波形の変位のうち次に出力すべき出力波形の変位の計算結果とする。
本発明のその他の観点に係るプログラムは、コンピュータを上記の音声処理装置として機能させ、コンピュータに上記の音声処理方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
本発明によれば、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ等を、簡易な計算によリ実現する音声処理装置、音声処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
以下に本発明の実施形態を説明する。なお、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
図1は、プログラムを実行することにより、本発明の音声処理装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
情報処理装置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、マイク111と、を備える。
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の音声処理装置が実現される。
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
インターフェイス104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
さらに、情報処理装置100には、インターフェイス104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、音声処理や画像処理を行うことが可能であれば、本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
たとえば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、NIC、音声入力用マイク、音声出力用スピーカ、を備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。
図2は、本発明の実施形態の一つにかかる音声処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
音声処理装置201は、上記情報処理装置100にてプログラムを実行することにより実現され、入力受付部202、出力部203、差分計算部204、変位計算部205、係数変化部206を備える。また、これらの各要素は、RAM 103からなる記憶部207にあらかじめ確保された変数領域を適宜参照したり、これに値を代入したりする。
本実施形態では、変数領域として確保されるものとして、
最後に受け付けられた入力波形の変位の値を記憶する変数a。
最後に出力した出力波形の変位の値を記憶する変数x。
最後に計算した差分の値を記憶する変数b。
係数k。0より大きく1より小さい値が格納される。
を用いる。
図3は、音声処理装置にて実行される音声処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
本音声処理が開始されると、まず、音声処理装置201は、記憶部207に確保された変数a,x,b,kを初期化する(ステップS301)。変数a,x,bの初期化の値としては、典型的には変位0を表す値を用いるが、その他の値を適宜利用しても良い。また、変数kの初期化の値は、0より大きく1より小さいものを用いる。
そして、入力波形の変位に対する処理が完了するまで、以下の処理を繰り返す(ステップS302)。
ついで、入力受付部202は、入力波形の変位の入力を1つ受け付けて、その値を変数aに代入する(ステップS303)。したがって、CPU 101は、RAM 103と共働して入力受付部202として機能する。
さらに、出力部203は、当該入力波形の変位の入力が処理を開始してから初めて、すなわち、繰り返しの最初である場合(ステップS310;Yes)、現在変数xに格納されている値を出力して(ステップS311)、ステップS304に進み、そうでない場合(ステップS310;No)、そのままステップS304に進む。
なお、ステップS311において出力する値として、現在変数xに格納されている値ではなく、現在変数aに格納されている値を採用しても良い。これにより、音声処理の際に音声の冒頭に発生しがちな「ボツ音」「ポツ音」と呼ばれる雑音が生じるのをできるだけ防止することができる。
また、ステップS310〜S311の処理は、フィルタ処理においてデータ長を一致させるためのものであり、1回限りのリアルタイム処理のみが必要な場合には、適宜省略しても良い。
ここで、入力波形として考えられるものは、音声情報であり、典型的にはPCM(Pulse Coded Module)信号である。入力波形は、時間の経過によって基準位置からのずれがどのように変化するかをあわらす情報で、サンプリング周波数(たとえば、22050Hzや44100Hz、88200Hz等。)で、所定の精度の数値(たとえば、8ビットや16ビット、24ビット等。)が変位として得られるのが典型的である。
変位の入力を1つ受け付ける手法としては、ステップS303において、音声情報のサンプリング周期ごとに発生する割り込みを待機し、割り込みが発生したら、入出力ポートから変位の値を直接読み出したり、他の処理によって用意され、RAMに確保されたデータを読み出したりする手法がありうる。
このほか、ストリーミング処理にて音声情報を処理する場合には、適宜バッファリングを行うことにより、入力波形の変位の入力が行われる時間間隔が、サンプリング周期と必ずしも一致しないような手法を採用しても良い。
また、あらかじめDVD−ROMやRAM 103、ハードディスクなどに用意されたファイル内のPCMデータを順次読み出すことによっても良い。
ついで、差分計算部204は、当該入力波形の変位のうち最後に受け付けられた入力波形の変位、すなわち、現在変数aに格納されている値と、当該出力波形の変位のうち最後に出力された出力波形の変位、すなわち、現在変数xに格納されている値と、の差分a-xを計算して、これを変数bに代入する(ステップS304)。したがって、CPU 101は、RAM 103と共働して、差分計算部204として機能する。
さらに、変位計算部205は、当該出力波形の変位のうち最後に出力された出力波形の変位、すなわち、現在変数xに格納されている値と、当該計算された差分のうち最後に計算された差分、すなわち、現在変数bに格納されている値に現在変数kに格納されている値を乗じた値を加算した値x + k bを、変数xに代入する(ステップS305)。したがって、CPU 101は、RAM 103と共働して、変位計算部205として機能する。
そして、出力部203は、変位計算部205により計算された出力波形の変位、すなわち、現在変数xに格納されている値を出力して(ステップS306)、処理を繰り返す(ステップS307)。したがって、CPU 101は、RAM 103と共働して、変位計算部205として機能する。
入力変位が1つに対して出力変位が1つ対応するため、また、入力波形の変位の入力がされる時間間隔と同じ時間間隔で、出力波形の変位の出力がされるように構成するのが一般的であるが、適宜バッファリング処理を行っても良い。
なお、ステップS304にて参照される変数xの値は、出力部203が最初にステップS311にて出力した値、もしくは、前回の繰返しで出力部203がステップS306にて出力した値(これは、前回の繰り返しでステップS305において変位計算部205が計算した値に等しい。)であるから、差分計算部204は、出力部203もしくは変位計算部205からのフィードバックを受けていることとなる。
ここで出力された出力波形の変位は、サンプリング周期ごとに音声処理部110に渡されると、適切なミキシングやD/A変換が行われて、スピーカから出力される。また、RAM 103やハードディスクに蓄積して、他の音声処理の対象とすることとしても良い。
そして、すべての入力波形の変位について処理を行ったら、本処理を終了する。
上記のような処理を行うことにより、入力波形の変位が
a0,a1,a2,…,ai,…
のように時系列として与えられた場合、出力波形の変位
x0,x1,x2,…,xi,…
は、漸化式
bi = ai+1 - xi
xi+1 = xi + kbi
によって計算されるものとなる。
ただし、x0は、ステップS311で出力される値で、上記の場合には、xの初期値(典型的には0)もしくは、a0(最初に入力された入力波形の変位)である。
このようなディジタル処理によって、本音声処理装置201は、ローパスフィルタとして機能することが判明している。また、当該係数kはローパスフィルタとしての「強さ」「弱さ」に相当するもので、当該係数kを小さくすると高音が小さくなり(強いローパスフィルタ)、当該係数kを大きくすると高音が大きくなる(弱いローパスフィルタ)。
係数変化部206は、この係数kを変化させるもので、CPU 101の制御の下、RAM 103に記憶される係数kを変化させることにより、本音声処理装置201(ローパスフィルタ)の特性を変化させることができる。
以下、理解を容易にするため、係数kが与えられたローパスフィルタとして機能する音声処理装置201を、適宜L(k)と表記する。
このように、音声処理装置L(k) 201では、係数kを変化させることで容易にその特性を変化させることができるとともに、フィルタ処理に必要なメモリ量が少なく、データのローカリティを高くすることができ、利用する計算機によっては、キャッシュ内にデータがすべて入るため、高速な処理が期待できる。
上記実施形態では、音声処理装置L(k) 201によってローパスフィルタを実現したが、本実施形態は、ハイパスフィルタを実現するものである。
係数kを採用したときの本実施形態による音声処理装置201を、適宜、以下ではH(k)と表記する。
図4は、本実施形態に係る音声処理装置H(k) 201の概要構成を示す模式図である。以下、本図を参照して説明する。
図4に示す本実施形態と、図2に示す上記実施形態と、その基本構成は共通する。したがって、相違する点について述べる。
異なる点は、ステップS311、ステップS306において出力部203が出力する値として、変数xに現在格納されている値ではなく、変数aの値から変数xの値を減算した値y = a - xを出力することである。
このようにすると、出力波形の変位の時系列
y0,y1,y2,…,yi,…
は、漸化式
yi = ai - xi
によって得られるものとなる。
前述の音声処理装置L(k) 201はローパスフィルタに相当するものであるから、原音からローパスフィルタの出力を減算すれば、ハイパスフィルタとなる。
また、当該係数kはハイパスフィルタとしての「弱さ」「強さ」に相当するもので、当該係数kを小さくすると低音が大きくなり(弱いハイパスフィルタ)、当該係数kを大きくすると低音が小さくなる(強いハイパスフィルタ)。
音声処理装置L(k) 201と、音声処理装置H(k) 201と、は、利用するデータのローカリティや計算が容易であること、ハイパスフィルタとしての強弱の調整が容易であることが、共通する。
本発明によれば、省メモリで簡易な計算により、強弱が容易に調整可能なハイパスフィルタを実現することができる。
以下では、音声処理装置L(k),H(k)はハイパスフィルタ、ローパスフィルタであるから、種々の音声処理に適用できることはいうまでもないが、音声処理装置L(k),H(k)の種々の応用について述べる。
たとえば、コンピュータゲームにおいて、ユーザに仮想空間の様子を提示する際に、当該仮想空間内で発せられる音声をスピーカ等から提示したり、当該発せられる音声として、他のユーザがマイクから入力した音声を利用することがある。このようなときに、音声処理装置L(k),H(k)に対して、当該音声の波形の変位を入力として与えるのである。
当該仮想空間内に配置された発音体として典型的なものは、ゲーム世界に配置されたキャラクター、動物、怪物、乗物、機械などのオブジェクトであり、その音波とは、当該キャラクター等が発する声や音をあらわすものである。当該音波としては、あらかじめ用意されたPCMデータを採用しても良いし、音声ジェネレータによって生成したものであっても良い。また、プレイヤー自身が操作するキャラクターが発する音波として、マイクによって入力されたプレイヤー自身の声を利用することも可能である。
このとき、係数変化部206は、当該仮想空間内において当該プレイヤー自身が操作するキャラクターの位置(注目点)と、当該発音体との距離が大きくなると、当該所定の係数kが小さくなるように変化させる。
現実世界の音声の伝搬では、距離が遠くなると、高周波成分が低周波成分が落ちて中音域のみが残る減少が見られる。
そこで、L(k)を採用する場合には、距離が離れると係数kを小さくして、高音域をより大きく除去するようなローパスフィルタとして機能させる。
また、H(k)を採用する場合には、距離が離れると係数kを大きくして、低音域をより大きく除去するようなハイパスフィルタとして機能させるのである。
このような態様を採用することにより、仮想世界における音声処理によって、発音体との距離をユーザによりリアルに感じさせることができるようになる。
また、適当な係数1 > m > n > 0を用いて、L(m)とH(n)の両方を直列に繋ぐように採用することにより、バンドパスフィルタを実現することも可能である。図5は、このようなバンドパスフィルタの概要構成を示す模式図である。
バンドパスフィルタ501は、音声処理装置L(m) 201と音声処理装置H(n) 201とが、直列接続されて構成されるが、いずれを原音よりに、いずれを出力よりにするかの、直列接続する順序は、本図(a)(b)に示すように任意である。
上記のような条件を満たす2つの係数m,nが与えられ、これらを調整することによって、どの帯域を通過させ、どの帯域を低減させるのか、を決めることができる。
バンドパスフィルタ501を上記仮想空間における距離の表現に利用する場合には、そこで、L(m)に与える係数mは、距離が離れると小さくし、H(n)に与える係数nは、距離が離れると大きくする。
これによって、上記のような係数の大小関係を設けることにより、中音域をよく通過させ、高音域と低音域を除去するようなバンドパスフィルタを実現するのである。これにより、省メモリで簡易な計算により、2つの係数の値を変化させることで通過させる周波数帯を容易に調整することができるバンドパスフィルタを実現することができる。
以上説明したように、本発明によれば、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ等を、簡易な計算によリ実現する音声処理装置、音声処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
プログラムを実行することにより、本実施形態の音声処理装置として機能する典型的な情報処理装置の概要構成を示す模式図である。 本実施形態にかかる音声処理装置L(k)の概要構成を示す模式図である。 音声処理装置にて実行される音声処理の制御の流れを示すフローチャートである。 本実施形態に係る音声処理装置H(k)の概要構成を示す模式図である。 本実施形態に係るバンドパスフィルタの概要構成を示す模式図である。
符号の説明
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 記憶部
501 バンドパスフィルタ

Claims (9)

  1. 0より大きく1より小さい係数kの値と、変数a,x,bの値と、が、記憶される記憶部、
    所定のサンプリング周期で割込を発生させる手段、
    前記所定のサンプリング周期で割込が発生するごとに、当該時点に対応付けられる入力波形の変位の値をランダムアクセスメモリから読み出すことにより、入力波形の変位の入力を受け付けて、当該受け付けた入力の値を前記変数aに記憶させる入力受付部、
    前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されるべき出力波形の変位を計算する変位計算部、
    前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されている出力波形の変位を出力する出力部、
    前記所定のサンプリング周期で割込が発生するごとに、前記変数aに記憶されている入力波形の変位と、前記変数xに記憶されている出力波形の変位と、の差分を計算して、当該差分を前記変数bに記憶させる差分計算部を備え、
    前記変位計算部は、前記変数xに記憶されている出力波形の変位と、前記変数bに記憶されている差分に前記記憶部に記憶されている係数kの値を乗じたものと、の和を当該出力波形の変位のうち次に出力すべき出力波形の変位の計算結果として、当該計算結果を前記変数xに記憶させる
    ことを特徴とする音声処理装置。
  2. 請求項1に記載の音声処理装置であって、
    前記出力部は、前記入力波形の変位の入力が記憶されるごとに、前記変数xに記憶された前記出力波形の変位を出力し、
    前記差分計算部は、前記出力波形の変位が出力されるごとに、前記差分を計算して、当該計算された差分を前記変数bに記憶させ、
    前記変位計算部は、前記差分が記憶されるごとに、前記出力波形の変位を計算して、当該計算された出力波形の変位を前記変数xに記憶させる
    ことを特徴とする音声処理装置。
  3. 請求項2に記載の音声処理装置であって、
    前記出力部は、前記割込が初めて発生したものである場合、前記受け付けられた入力波形の変位を、前記出力波形の変位として出力し、
    前記変位計算部は、前記割込が初めて発生したものである場合、前記受け付けられた入力波形の変位を、前記変数xに記憶させる
    ことを特徴とする音声処理装置。
  4. 請求項2または3に記載の音声処理装置であって、
    当該入力波形の変位、仮想空間内に配置された発音体に係る音波の波形の変位であり、
    当該仮想空間内における所定の注目点と、当該発音体との距離が大きくなると、当該係数kが小さくなるように変化させる係数変化部
    をさらに備えることを特徴とする音声処理装置。
  5. 請求項2または3に記載の音声処理装置であって、
    前記出力部は、前記変数xに記憶される出力波形の変位出力するのにかえて、前記変数aに記憶される入力波形の変位と、前記変数xに記憶される出力波形の変位と、の差出力する
    ことを特徴とする音声処理装置。
  6. 請求項5に記載の音声処理装置であって、
    当該入力波形の変位は、仮想空間内に配置された発音体に係る音波の波形の変位であり、
    当該仮想空間内における所定の注目点と、当該発音体との距離が大きくなると、当該係数kが大きくなるように変化させる係数変化部
    をさらに備えることを特徴とする音声処理装置。
  7. 当該仮想空間内に配置された発音体に係る音波の波形の変位を、請求項4に記載の音声処理装置(以下「ローパス処理装置」という。)と、請求項6に記載の音声処理装置(以下「ハイパス処理装置」という。)と、の2つに、直列に処理させる音声処理装置であって、
    当該ローパス処理装置で用いる係数は、当該ハイパス処理装置で用いる係数より大きい
    ことを特徴とする音声処理装置。
  8. 割込部、記憶部、入力受付部、出力部、差分計算部、変位計算部を備える音声処理装置にて実行される音声処理方法であって、前記記憶部には、0より大きく1より小さい係数kの値と、変数a,x,bの値と、が、記憶され、
    前記割込部が、所定のサンプリング周期ごとに割込を発生させる工程、
    前記入力受付部が、前記所定のサンプリング周期で割込が発生するごとに、当該時点に対応付けられる入力波形の変位の値をランダムアクセスメモリから読み出すことにより、入力波形の変位の入力を受け付けて、当該受け付けた入力の値を前記変数aに記憶させる入力受付工程、
    前記変位計算部が、前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されるべき出力波形の変位を計算する変位計算工程、
    前記出力部が、前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されている出力波形の変位を出力する出力工程、
    前記差分計算部が、前記所定のサンプリング周期で割込が発生するごとに、前記変数aに記憶されている入力波形の変位と、前記変数xに記憶されている出力波形の変位と、の差分を計算して、当該差分を前記変数bに記憶させる差分計算工程、
    を備え、
    前記変位計算工程では、前記変位計算部が、前記変数xに記憶されている出力波形の変位と、前記変数bに記憶されている差分に前記記憶部に記憶されている係数kの値を乗じたものと、の和を当該出力波形の変位のうち次に出力すべき出力波形の変位の計算結果として、当該計算結果を前記変数xに記憶させる
    ことを特徴とする音声処理方法。
  9. コンピュータを、
    0より大きく1より小さい係数kの値と、変数a,x,bの値と、が、記憶される記憶部、
    所定のサンプリング周期で割込を発生させる手段、
    前記所定のサンプリング周期で割込が発生するごとに、当該時点に対応付けられる入力波形の変位の値をランダムアクセスメモリから読み出すことにより、入力波形の変位の入力を受け付けて、当該受け付けた入力の値を前記変数aに記憶させる入力受付部、
    前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されるべき出力波形の変位を計算する変位計算部、
    前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されている出力波形の変位を出力する出力部、
    前記所定のサンプリング周期で割込が発生するごとに、前記変数aに記憶されている入力波形の変位と、前記変数xに記憶されている出力波形の変位と、の差分を計算して、当該差分を前記変数bに記憶させる差分計算部
    として機能させ、
    前記変位計算部は、前記変数xに記憶されている出力波形の変位と、前記変数bに記憶されている差分に前記記憶部に記憶されている係数kの値を乗じたものと、の和を当該出力波形の変位のうち次に出力すべき出力波形の変位の計算結果として、当該計算結果を前記変数xに記憶させる
    ように機能させることを特徴とするプログラム。
JP2006077523A 2006-03-20 2006-03-20 音声処理装置、音声処理方法、ならびに、プログラム Active JP4437993B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006077523A JP4437993B2 (ja) 2006-03-20 2006-03-20 音声処理装置、音声処理方法、ならびに、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006077523A JP4437993B2 (ja) 2006-03-20 2006-03-20 音声処理装置、音声処理方法、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2007258828A JP2007258828A (ja) 2007-10-04
JP4437993B2 true JP4437993B2 (ja) 2010-03-24

Family

ID=38632667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006077523A Active JP4437993B2 (ja) 2006-03-20 2006-03-20 音声処理装置、音声処理方法、ならびに、プログラム

Country Status (1)

Country Link
JP (1) JP4437993B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5905687B2 (ja) * 2011-09-09 2016-04-20 株式会社カプコン ゲームプログラムおよびゲーム装置

Also Published As

Publication number Publication date
JP2007258828A (ja) 2007-10-04

Similar Documents

Publication Publication Date Title
KR100903500B1 (ko) 음성출력장치, 음성출력방법 및 프로그램을 기록한 컴퓨터 판독 가능한 정보기록매체
JP3949701B1 (ja) 音声処理装置、音声処理方法、ならびに、プログラム
JP3977405B1 (ja) ゲーム音出力装置、ゲーム音制御方法、および、プログラム
JP5306702B2 (ja) 年齢層推定装置、年齢層推定方法、ならびに、プログラム
EP1795240B1 (en) Game machine, game machine control method, information recording medium, and program
WO2007077696A1 (ja) 音声処理装置、音声処理方法、プログラム、ならびに、情報記録媒体
JP2012050791A (ja) キャラクター表示装置、キャラクター表示方法、ならびに、プログラム
JP4437993B2 (ja) 音声処理装置、音声処理方法、ならびに、プログラム
WO2010084830A1 (ja) 音声処理装置、チャットシステム、音声処理方法、情報記憶媒体、ならびに、プログラム
JP4468963B2 (ja) 音声画像処理装置、音声画像処理方法、ならびに、プログラム
JP4607210B2 (ja) 再生装置、再生方法、ならびに、プログラム
JP5357805B2 (ja) 音声処理装置、音声処理方法、ならびに、プログラム
JP3845657B2 (ja) 効果音出力装置、効果音生成方法、ならびに、プログラム
JP3875203B2 (ja) カラオケ装置、歌唱力採点方法、ならびに、プログラム
JP4714230B2 (ja) 音声処理装置、音声処理方法、ならびに、プログラム
JP3892433B2 (ja) カラオケ装置、カラオケ方法、ならびに、プログラム
JP4071130B2 (ja) 制御装置、キャラクタ制御方法、ならびに、プログラム
JP5422445B2 (ja) 音声処理装置、音声処理方法、ならびに、プログラム
JP5431274B2 (ja) ゲーム装置、ならびに、プログラム
JP3854263B2 (ja) カラオケ装置、カラオケ方法、ならびに、プログラム
JP2012249031A (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP2001282267A (ja) 音声処理システム及び音声処理方法
JP2013004120A (ja) 再生装置、再生方法、ならびに、プログラム
WO2011010596A1 (ja) ゲーム装置、ゲーム制御方法、情報記憶媒体、ならびに、プログラム
JP2004258083A (ja) 再生装置、生成装置、再生方法、生成方法、ならびに、プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090413

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

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

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

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4437993

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140115

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250