(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-17
(45)【発行日】2022-11-28
(54)【発明の名称】効果音発生方法、及び情報処理装置
(51)【国際特許分類】
G10K 15/08 20060101AFI20221118BHJP
【FI】
G10K15/08
(21)【出願番号】P 2020551079
(86)(22)【出願日】2018-10-09
(86)【国際出願番号】 JP2018037632
(87)【国際公開番号】W WO2020075225
(87)【国際公開日】2020-04-16
【審査請求日】2021-03-08
(73)【特許権者】
【識別番号】000116068
【氏名又は名称】ローランド株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】守 寛明
【審査官】大石 剛
(56)【参考文献】
【文献】特開平06-259087(JP,A)
【文献】特開2015-128208(JP,A)
【文献】特開平03-290698(JP,A)
【文献】特開2000-315937(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10K 15/08
(57)【特許請求の範囲】
【請求項1】
インパルス応答の実測値に基づいて生成した係数を有する高次のIIRフィルタを用いて音声に対する効果音を生成し、
前記効果音を出力する
ことを含み、
前記高次のIIRフィルタは、音声信号が入力される加算器と、前記加算器の出力端に多段接続された複数のタップとを含み、
前記複数のタップの夫々は、遅延回路と乗算器とからなり、
前記遅延回路は、前記加算器の出力端又は前段のタップの遅延回路の出力端と接続された入力端と、後段のタップの遅延回路の入力端及び前記乗算器の入力端と接続された出力端とを有し、
前記乗算器は、その入力端に入力された遅延回路の出力信号に所定の係数を乗じた信号を出力し、前記乗算器の出力信号は、前記加算器に入力される
ことを特徴とする効果音発生方法。
【請求項2】
前記高次のIIRフィルタの次数の指定に応じて、前記次数を変更する
請求項1に記載の効果音発生方法。
【請求項3】
前記高次のIIRフィルタに設定する次数の数が指定された場合に、前記複数のタップのうち、所定の選択方法に従って前記指定された数のタップの乗算器が用いる零より大きい数の係数が選択され、残りのタップの乗算器が用いる係数の値が零に設定された状態となる
請求項1又は2に記載の効果音発生方法。
【請求項4】
インパルス応答の実測値に基づいて生成した係数を有する全極
型フィルタを用いて音声に対する効果音を生成し、
前記効果音を出力することを含み、
前記効果音から特定の帯域成分を抽出する抽出部と、抽出された前記特定の帯域成分を所定の減衰率で減衰させる減衰部との組を1以上有する少なくとも1つのコムフィルタモジュールを有するコムフィルタを用いて、前記インパルス応答の測定場所における残響特性を有する効果音を生成する
効果音発生方法。
【請求項5】
前記特定の帯域成分と前記所定の減衰率は、前記インパルス応答の実測値に基づいて生成されたものである
請求項4に記載の効果音発生方法。
【請求項6】
前記インパルス応答は、相互に異なる複数のインパルス応答の測定場所にて測定された複数のインパルス応答の中から選択されたものである
請求項4又は5に記載の効果音発生方法。
【請求項7】
前記複数のインパルス応答に対応する前記全極型フィルタ及び前記コムフィルタの少なくとも一方に関する複数のパラメータセットを記憶し、
前記複数のパラメータセットの中から選択されたパラメータセットを、対応する前記全極型フィルタ及び前記コムフィルタの少なくとも一方に設定する
請求項4に記載の効果音発生方法。
【請求項8】
インパルス応答の実測値に基づいて生成した係数を有する高次のIIRフィルタを用いて音声に対する効果音を生成する生成部と、
前記効果音を出力する出力部と、
を含み、
前記高次のIIRフィルタは、音声信号が入力される加算器と、前記加算器の出力端に多段接続された複数のタップとを含み、
前記複数のタップの夫々は、遅延回路と乗算器とからなり、
前記遅延回路は、前記加算器の出力端又は前段のタップの遅延回路の出力端と接続された入力端と、後段のタップの遅延回路の入力端及び前記乗算器の入力端と接続された出力端とを有し、
前記乗算器は、その入力端に入力された遅延回路の出力信号に所定の係数を乗じた信号を出力し、前記乗算器の出力信号は、前記加算器に入力される
ことを特徴とする情報処理装置。
【請求項9】
前記高次のIIRフィルタの次数の指定に応じて、前記次数を変更する制御部
をさらに含む
請求項8に記載の情報処理装置。
【請求項10】
前記制御部は、前記高次のIIRフィルタに設定する次数の数が指定された場合に、前記複数のタップのうち、所定の選択方法に従って前記指定された数のタップの乗算器が用いる零より大きい数の係数を選択し、残りのタップの乗算器が用いる係数の値を零に設定する
請求項9に記載の情報処理装置。
【請求項11】
インパルス応答の実測値に基づいて生成した係数を有する全極
型フィルタを用いて音声に対する効果音を生成する生成部と、
前記効果音を出力する出力部と、
前記効果音から特定の帯域成分を抽出する抽出部と、抽出された前記特定の帯域成分を所定の減衰率で減衰させる減衰部との組を1以上有し、前記インパルス応答の測定位置における残響特性を有する前記効果音を生成する少なくとも一つのコムフィルタモジュールを有するコムフィルタとを含む情報処理装置。
【請求項12】
前記特定の帯域成分と前記所定の減衰率は、前記インパルス応答の実測値に基づいて生成されたものである
請求項11に記載の情報処理装置。
【請求項13】
前記インパルス応答は、相互に異なる複数のインパルス応答の測定場所にて測定された複数のインパルス応答の中から選択されたものである
請求項11又は12に記載の情報処理装置。
【請求項14】
前記制御部は、前記複数のインパルス応答に対応する前記全極型フィルタ及び前記少なくとも一つのコムフィルタの少なくとも一方に関して記憶された複数のパラメータセットの中から選択されたパラメータセットを、対応する前記全極型フィルタ及び前記少なくとも一つのコムフィルタの少なくとも一方に設定する
請求項11に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、効果音発生方法、及び情報処理装置に関する。
【背景技術】
【0002】
電子楽器や音声再生装置から出力される音声に、ホールなどの残響音や、楽器の共鳴音などの効果音を付加する効果音付加装置がある。一般に、ディジタルの音声データにフィルタ処理を施して、残響音や共鳴音などの効果音を出力する。
【0003】
効果音を付加するためのフィルタ処理には、例えば、FIR(Finite Impulse Response:有限インパルス応答)フィルタを用いたインパルス応答の畳み込み(コンボリューション・リバーブと呼ばれる)がある(例えば、特許文献1)。或いは、FFT(高速フーリエ変換)を利用して周波数領域でインパルス応答の畳み込みを行う方式がある。また、シュレーダー方式と呼ばれる、APF(All Pass Filter)の多段構成により、インパルス応答を擬似的に生成する方法がある。また、コムフィルタを用いて共鳴音や残響音を発生させる回路がある(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2008-299005号公報
【文献】特許第2998482号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
FIRフィルタを用いたインパルス応答の畳み込みを行う方式(第1の方式と呼ぶ)では、リアルタイム性(楽音の出力への追従性)、及び、音の自然さを示す度合い(自然度(クオリティ))は好適である。但し、演算量が膨大となる欠点がある。FFTを用いてインパルス応答の畳み込みを行う方式(第2の方式)の長所及び欠点は、クオリティは好適であるが、リアルタイム性が第1の方式に比べて低くなる。また、シュレーダー方式(第3の方式)では、リアルタイム性及び演算量は好適であるが、クオリティが、第1及び第2の方式と比べて大幅に低下する。
【0006】
本発明は、演算量の低減を図りつつ、品質のよい効果音を生成することのできる効果音発生方法、及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一側面は、インパルス応答の測定値に基づいて生成した係数を有する全極型フィルタを用いて前記音声に帯する効果音を生成し、
前記効果音を出力する
ことを含む効果音発生方法である。
【0008】
効果音発生方法において、前記全極型フィルタの次数の指定に応じて、次数を変更するようにしてもよい。また、前記全極型フィルタに設定する係数の数が指定された場合に、係数の絶対値が大きい順に前記指定された数の係数が選択され、残りの係数の値を零に設定するようにしてもよい。
【0009】
また、効果音発生方法において、前記効果音から特定の帯域成分を抽出する抽出部と、抽出された前記特定の帯域成分を所定の減衰率で減衰させる減衰部との組を1以上有する少なくとも1つのコムフィルタモジュールを有するコムフィルタを用いて、前記インパルス応答の測定場所における残響特性を有する効果音を生成するようにしてもよい。
【0010】
効果音発生方法において、前記特定の帯域成分と前記所定の減衰率は、例えば、前記インパルス応答の実測値に基づいて生成されたものである。また、前記インパルス応答は、相互に異なる複数のインパルス応答の測定場所にて測定された複数のインパルス応答の中から選択されたものとしてよい。測定場所は、測定場所(建物等)が異なる場合と、同一の測定場所で、位置が異なる場合とを含む。また、効果音発生方法において、前記複数のインパルス応答に対応する前記全極型フィルタ及び前記コムフィルタの少なくとも一方に関する複数のパラメータセットを記憶し、前記複数のパラメータセットの中から選択されたパラメータセットを、対応する前記全極型フィルタ及び前記コムフィルタの少なくとも一方に設定する構成を採用してもよい。
【0011】
本発明の他の側面は、インパルス応答の実測値に基づいて生成した係数を有する全極型フィルタを用いて前記音声に対する効果音を生成する生成部と、前記効果音を出力する出力部と、を含む、情報処理装置である。
【0012】
また、本発明の他の側面は、複数の測定場所で取得された複数のインパルス応答の中から選択された測定場所のインパルス応答の実測値に基づいて形成され、入力音声信号に前記選択された測定場所の残響音が付加された音声信号を生成して出力するフィルタを含む電子楽器である。
【図面の簡単な説明】
【0013】
【
図1】実施形態に係る効果音発生装置の構成例を示す図である。
【
図2】DSPによって実現されるディジタルフィルタの構成例を示す。
【
図3】DSP(全極型フィルタ及びコムフィルタ)に対するデータ設定の説明図である。
【
図5】全極型フィルタ(IIRフィルタ)の例を示すブロック図である。
【
図7】
図7A、
図7B、
図7Cは、相互に異なる場所A、B、Cで、同一の音声について取得したインパルス応答の周波数特性を示す。
【
図9】
図9Aは、FIRフィルタを用いた残響音の周波数特性を示し、
図9Bは、全極型フィルタを用いた残響音の周波数特性を示し、
図9Cは、全極型フィルタ及びコムフィルタを用いた残響音の周波数特性を示す。
【
図10】パラメータセット生成処理の一例を示すフローチャートである。
【
図11】効果音付加処理の一例を示すフローチャートである。
【
図13】パラメータセットの指定処理の例を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参照して、実施形態に係る効果音発生方法及び効果音発生装置について説明する。実施形態の構成は一例であり、その構成に限定されない。本実施形態では、効果音の一例として、電子楽器や音声再生装置(オーディオ機器)から出力される楽音に付加する残響音や共鳴音を生成(発生)する方法及び装置について説明する。
【0015】
<効果音発生装置の構成例>
図1は、実施形態に係る効果音発生装置の構成例を示す図である。効果音発生装置10は、入力された音声(楽音)信号のディジタル信号処理により効果音の信号を生成し、楽音信号とともに出力することで、楽音に効果音(音響効果)の付加を行う装置である。
【0016】
図1において、効果音発生装置10は、入力端子20と、入力端子20と接続された音声アナログ/ディジタル(A/D)コンバータ30と、A/Dコンバータ30に接続されたDSP(Digital Signal Processor)200と、DSP200に接続されたディジタル/アナログ(D/A)コンバータ40と、出力端子50(出力部の一例)とを含む。
【0017】
入力端子20は、音声信号(楽音信号)を入力する端子である。入力端子20には、電子楽器から出力された音声信号や、オーディオ機器から出力された音声信号が入力される。A/Dコンバータ30は、入力された音声信号をディジタル信号に変換し、DSP200に入力する。DSP200は、音声信号に対するディジタル信号処理を行って、音声信号に効果音が付加された信号を生成し、D/Aコンバータ40に出力する。D/Aコンバータ40の出力信号(アナログ信号)は、出力端子50から出力される。出力端子50には、増幅器(アンプ)が接続されており、アンプにはスピーカが接続されている。出力端子50から出力された音声信号はアンプで増幅された後、スピーカから音声として出力される。
【0018】
なお、主記憶装置102や補助記憶装置103に、音声ファイルを記憶しておき、CPU101が、音声ファイルをディジタル信号に変換してDSP200に入力するようにしてもよい。音声ファイルのフォーマットは、MP3やWAVE形式などである、但し、フォーマット形式は、MP3やWAVE形式以外でもよい。
【0019】
また、
図1に示す例では、1チャンネル分の構成を示すが、音声のチャンネル数に合わせて、音声信号の処理系列が2以上設けられてもよい。また、効果音発生装置10は、LAN(Local Area Network)カードなどの有線又は無線の通信インタフェース(通信I/F)105を備えていてもよい。
【0020】
DSP200は、CPU(Central Processing Unit:演算処理装置)101、主記憶装置102、補助記憶装置103、ユーザインタフェース(UI)104と、バス3を介して相互に接続されている。DSP200は、ディジタル信号処理に特化したプロセッサである。本実施形態では、DSP200は、CPU101の制御下で、音声信号の処理に特化した処理を行う。
【0021】
主記憶装置102は、ROM(Read Only Memory)及びRAM(Random Access Memory)を含む。ROMは、CPU101によって実行されるプログラムや、プログラムの実行に際して使用されるデータを記憶する。RAMは、プログラムの展開領域、データ記憶領域、CPU101の作業領域、通信データのバッファ領域などとして使用される。
【0022】
補助記憶装置103は、データやプログラムの記憶領域として使用される。補助記憶装置103は、例えば、ハードディスク、SSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリなどである。
【0023】
ROMや補助記憶装置103に記憶されたプログラムがRAMにロードされ、CPU101によって実行されることで、様々な処理が行われる。CPU101が行う処理の一部又は全部は、複数のCPU(プロセッサ)によって行われても、マルチコア構成のCPUによって行われてもよい。また、CPUが行う処理の一部又は全部は、CPU以外のプロセッサ(DSPやGPUなど)、プロセッサ以外の集積回路(ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)など)、或いはプロセッサと集積回路との組み合わせ(MPU(Micro Processing Unit)、SoC(System-on-a-Chip)など)によって実行されてもよい。
【0024】
UI104は、入力装置と出力装置とを含む。入力装置は、効果音発生装置10にデータや情報を入力するために使用される。入力装置は、キー、ボタン、ポインティングデバイス、タッチパネル、調整ツマミなどを含む。出力装置は、ディスプレイなどである。UI104は、マイクやスピーカのような、音声入力装置及び音声出力装置を含んでもよい。通信I/F105は、通信処理を司る。通信規格は問わず、LANやUSBなどの有線の通信でも、無線LANやBluetooth(登録商標)のような無線通信でもよい。
【0025】
上述したように、効果音発生装置10は、いわゆるエフェクタ装置として、電子楽器やオーディオ機器に接続される単独の装置であってもよく、電子楽器やオーディオ機器の一部としてこれらに組み込まれていてもよい。
【0026】
<DSPにおける処理>
次に、DSP200における処理について説明する。DSP200は、DSP200に入力される音声信号に対するディジタルフィルタ処理を行うことで、効果音を生成する。効果音は、音声の出力場所(ホール、スタジオなど)における残響音や、楽器の共鳴音であるが、これら以外の音声を含み得る。本実施形態では、効果音の一例として、音声の出力場所における残響音を生成する場合について説明する。
【0027】
DSP200は、プログラムの実行によって、音声信号から効果音信号を生成するディジタルフィルタとして動作する。
図2は、DSP200によって実現されるディジタルフィルタ200Aの構成例を示す。
【0028】
図2において、DSP200によって実現されるディジタルフィルタ200Aは、全極型フィルタ210と、全極型フィルタ210に接続されたコムフィルタ(櫛型フィルタ)220と、乗算器230と、乗算器240とを含む。ディジタルフィルタ200Aには、入力信号として、A/Dコンバータ30から出力された音声信号が入力される。入力信号は全極型フィルタ210に入力される。全極型フィルタ210の出力信号(出力1)は、コムフィルタ220と乗算器240に入力される。コムフィルタ220の出力信号(出力2)は、乗算器230に入力される。乗算器230は、コムフィルタ220からの出力信号(出力2)に所定の係数を乗算する。また、乗算器240は、全極型フィルタ210の出力信号(出力1)に所定の係数を乗算する。一例として、乗算器230又は乗算器240の一方で乗じる係数を1(オン)に設定し、他方で乗じる係数を1~0の間で調整することが考えられる。
【0029】
なお、乗算器230で乗じる係数が1で、乗算器240で乗じる係数が0のとき、コムフィルタ220の出力信号がディジタルフィルタ200Aの出力となる。これに対し、乗算器230で乗じる係数が0で、乗算器240で乗じる係数が1のとき、全極型フィルタ210の出力信号がディジタルフィルタ200Aの出力となる。ディジタルフィルタ200Aからは、元の音声信号に効果音としての残響音が付加された音声信号が出力される。ディジタルフィルタ200Aから出力される音声信号は、例えば、D/Aコンバータ40に入力されて、アナログ信号に変換され、出力端子50から出力される。或いは、音声信号のディジタルデータを主記憶装置102や補助記憶装置103にて記憶(保存)することもできる。
【0030】
図3は、全極型フィルタ210及びコムフィルタ220に対するデータ設定の説明図である。プログラムの実行によって、CPU101は制御部110として動作する。主記憶装置102及び補助記憶装置103の少なくとも一方は、記憶部120として動作する。DSP200は、効果音の生成部として動作する。すなわち、DSP200は、上記した全極型フィルタ210及びコムフィルタ220として動作することができる。
【0031】
記憶部120には、全極型フィルタ210に設定するパラメータセットのデータと、コムフィルタ220に設定するパラメータセットのデータとを記憶している。制御部110は、全極型フィルタ210用のパラメータセットを記憶部120から読み出してDSP200に設定することで、DSP200を全極型フィルタ210として動作させる。また、制御部110は、コムフィルタ220用のパラメータセットを記憶部120から読み出してDSP200に設定することで、DSP200をコムフィルタ220として動作させる。各パラメータセットの詳細は後述する。
【0032】
本実施形態において、全極型フィルタ210、コムフィルタ220のパラメータセットは、一例として、パーソナルコンピュータ(PC)150によって生成される。但し、パラメータセットの生成は、効果音発生装置10や、効果音発生装置10及びPC150以外の装置が行うようにしてもよい。効果音発生装置10及びPC150のそれぞれは「情報処理装置」の一例である。PC150が備えるプロセッサ151は、「制御部」として動作する。
【0033】
PC150は、バスを介して相互に接続された、プロセッサ151、メモリ152、通信インタフェース(通信I/F)153、入力装置154、ディスプレイ155を備える。以下、全極型フィルタ210のパラメータセットの生成に関して説明する。入力装置154は、PC150へのインパルス応答データ(IRデータ)の入力に使用される。インパルス応答は、インパルスと呼ばれる、時間的に非常に短い信号を入力したときのシステムの出力を示す(
図4参照)。メモリ152には、有限インパルス応答(FIR)のデータが記憶される。
【0034】
プロセッサ151は、FIRを所定数以上の次数を有する(高次の)無限インパルス応答(IIR)に変換する変換処理を行う。次数は、例えば、DSP200の性能乃至処理能力を鑑みて決定される。プロセッサ151は、FIRフィルタのデータを、所定の次数を有するIIRフィルタ(全極型フィルタ)に変換する。これにより、フィルタのデータ量が圧縮されるとともに、演算量が少なくなる。次数は適宜設定可能である。
【0035】
FIRフィルタの全極化の方法の一例を以下に示す。全極化には、例えば、線形予測符号(Linear Predictive Coding:LPC)を用いる。LPCの予測モデルは、例えば以下の式(1)で表現される。式(1)における右辺(y^[n])は、予測信号値、y[n-i]は事前に観測された値、α[i]は予測係数である。kは次数である。
【数1】
【0036】
式(1)において、元の信号(y[t])との2乗誤差は、以下の式(2)で表される。この2乗誤差の和が最小となる予測係数α[i]を求める。式(2)を式(3)に変形し、α[0]=1として、誤差関数Eの式(4)が得られる。
【数2】
【数3】
【数4】
【0037】
誤差関数Eを偏微分すると式(5)となる。ここで、j=1,…,kである。式(5)を変形すると、式(6)となり、n’=n-jとおくと、式(7)のように表現できる。
【数5】
【0038】
式(7)は、k個の連立方程式であり、相互相関関数(autocorrelation function)が導入されている。相互相関関数は、以下の式(8)に示すような要素を含み、式(9)のような、ユール・ウォーカー方程式で表すことができる。式(8)における左側の行列はテプリッツ行列であり、このテプリッツ行列の特性を用いて、レビンソン・ダービン再帰法(Levinson-Durbin Recursion)と呼ばれるアルゴリズムにより、その解であるLPC係数(予測係数)及びLPC次数を高速に求めることができる。プロセッサ151は、プログラムの実行によって、入力された(メモリ152に格納された)IRデータと、例えば予め設定された次数kとを用いて、上記したユール・ウォーカー方程式を求め、レビンソン・ダービン再帰法によってLPC係数を求める。このようなプロセッサ151によるLPC係数の算出は、プログラム実行によって自動的に行われる。
【数6】
【数7】
【0039】
FIRデータに基づく信号、すなわちIRの信号は、LPC係数及びLPC次数を用いて予測することができる。ここで、LPC次数(kの数)は、例えばFIRにおける畳み込み演算の乗算回数(演算数)が例えば50000回であるとする場合に、全極化(IIRフィルタへの変換)によって演算数が例えば10000回に減少するように定めることができる。LPC係数及びLPC次数は全極型フィルタ210のパラメータセットとして、メモリ152に記憶される。この全極型フィルタ210のパラメータセットでは、その次数(LPC次数)を、FIRの次数より少ない数に設定することで、記憶すべきデータ量、及び演算量を減少させることができる。全極型フィルタ210用のパラメータセットは、例えば、メモリ152から読み出され、通信I/F153から通信I/F105へ送信され、記憶部120に格納される。制御部110は、全極型フィルタ210のパラメータセット(係数及び次数)をDSP200に設定し、全極型フィルタ210をアクティベート状態にする。
【0040】
また、全極型フィルタ210の係数(重み)が疎(スパース:多くの係数値が零)となるように、例えば、PC150のユーザ(効果音発生装置10のユーザ)は、入力装置154を用いて、全極型フィルタ210の係数の数を指定することができる。係数の数が指定された場合に、プロセッサ151は、所定の選択方法、例えば係数の絶対値が大きい順に上記指定された数の係数を選択し、残りの係数の値を零に設定する。係数が疎になることで、演算量が削減される。例えば、全極型フィルタ210における乗算数(演算数)が10000回である場合に、係数を疎にすることで、演算数を所望の数、例えば5000回にすることができる。
【0041】
<<全極型フィルタ>>
図5は、全極型フィルタ(IIRフィルタ)210の例を示すブロック図である。
図5において、全極型フィルタ210は、入力信号(入力)が入力される乗算器211と、出力信号(出力1)を出力するフィードバック系(FB系)214とを含む。入力信号は、音声信号である。
【0042】
乗算器211は、入力信号x[t]に所定の係数(ゲイン)を乗算する。乗算器211の出力信号は、FB系214の加算器218に入力される。
【0043】
FB系214は、加算器218と、k個のタップ215からなる。タップ215は、1サンプル分の遅延ブロック216と、乗算器217とを含み、乗算器217の出力は加算器218にて加算される。
【0044】
タップ215の数は、次数kによって決まる。ユーザの設定(係数(次数)の数の指定)に応じて、係数を疎にすることができる。例えば、ユーザは、PC150の入力装置154を用いて次数(タップ215の数)を指定することができる。ユーザが次数を例えば5000に指定した場合に、プロセッサ151は、乗算器217の係数の絶対値が大きい順に5000個のタップ215を選択し、残りのタップ215の係数を零に設定する。これによって、係数を疎にすることができ、演算量を減らすことができる。
図6は係数が疎となった全極型フィルタ210を示す。なお、タップ215の選択方法は、上記に制限されない。但し、上述した、次数を変更する処理、係数を疎にする処理を、効果音発生装置10の制御部110で行う場合もあり得る。また、所定の選択方法の例示として、係数の絶対値の大きい順に係数を選択する例を示した。但し、例示の選択方法以外の方法、例えば、係数の絶対値の小さい順での選択や、ランダムな選択が採用される場合もあり得る。
【0045】
FIRフィルタの代わりに、FIRフィルタを変換した高次のIIRフィルタ(全極型フィルタ210)を用いることで、演算量を削減しつつ、インパルス応答の特徴をもった出力信号y[t]を生成及び出力することができる。
【0046】
<<コムフィルタ>>
FIRにおいて、残響時間が短い場合には、全極型フィルタ210の採用だけで、残響音を生成することができる。しかし、残響時間が長い場合には、全極型フィルタ210のデータ(演算量)を増やす必要がある。コムフィルタ220は、全極型フィルタ210における演算量を抑制しつつ、所望の残響時間を有する残響音を生成するために使用される。
【0047】
また、インパルス応答の測定場所における、空間の広さや音声を反射する物体の存在、壁の材料や形状など、様々な要因によいって、同じ音声であっても、その残響音の特性(すなわちインパルス応答)は異なる。
【0048】
図7A、
図7B、
図7Cは、相互に異なる場所A、B、Cで、同一の音声について取得したインパルス応答の周波数特性を示す。
図7A、
図7B、
図7Cの夫々の縦軸は周波数で、横軸は時間を示す。
図7A、
図7B、
図7Cに示すように、インパルス応答の測定場所の相違で、帯域毎の減衰の仕方が異なる。このような各帯域の減衰状況を再現したい、との要望もある。
【0049】
図8は、コムフィルタ220の構成例を示す。
図8に示す例では、コムフィルタ220は、全極型フィルタ210の出力信号(出力1)が並列に入力される複数の遅延ブロック220aと、遅延ブロック220aのそれぞれに接続されたコムフィルタモジュール220Aとを含む。コムフィルタ220は、さらに、各コムフィルタモジュール220Aに接続された遅延ブロック224と、各遅延ブロック224に接続された乗算器224aと、乗算器224aの出力を加算する加算器227とを含む。加算器227の出力がコムフィルタ220の出力信号(出力2)として出力される。
【0050】
図8に示す例では、遅延ブロック220aから乗算器224aまでの系列が、2以上並列に設けられている例を示しているが、コムフィルタ220は、上記系列を1つだけ有するものであってもよい。もっとも、複数の系列が具備されることにより、残響音の密度が高まる。
【0051】
遅延ブロック220aのN1,N2,N3,・・・は、各遅延ブロック220aが異なる遅延の度合いを有することを示す。コムフィルタモジュール220Aは、加算器221と、フィルタ222及び乗算器223の組と、遅延ブロック225と、乗算器226とを含む。フィルタ222及び乗算器223の組は、1以上の適宜の数、具備され、それぞれの出力は、遅延ブロック224及び225に接続される。
【0052】
フィルタ222は、HPF、BPF、LPF、又はこれらの任意の組み合わせであり、フィルタ222に入力される信号中の所定の帯域(周波数の範囲)の成分を通過させる。乗算器223は、フィルタ222を通過した(抽出された)信号を、所定の減衰率(係数)で減衰させる。このように、フィルタ222は所定の帯域(特定の帯域成分)を抽出する抽出部として動作し、乗算器223は所定の帯域を所定の減衰率で減衰させる減衰部として動作する。フィルタ222の通過帯域(特定の帯域成分)は、フィルタ222間で異なる。また、乗算器223の係数(減衰率)も、乗算器223間で異なる。
【0053】
フィルタ222の通過帯域及び乗算器223の係数は、コムフィルタ220のパラメータセットに含まれるデータである。コムフィルタ220のパラメータセットは、PC150によって生成される。
図7A、
図7B、
図7Cに示したように、IRの測定場所の残響音特性を示すデータがPC150に入力される。すると、プロセッサ151が、各コムフィルタモジュール220Aのフィルタ222及び乗算器223の組に設定すべき、通過帯域及び係数を、所定のアルゴリズムに従って生成する。通過帯域及び係数は、マニュアル設定により生成してもよい。また、各コムフィルタモジュール220Aに具備される組の数が設定される場合もある。また、コムフィルタモジュール220Aの数や遅延度合いは、残響音特性に応じて適宜設定可能である。
【0054】
コムフィルタ220のパラメータセットは、全極型フィルタ210のパラメータセットと同様に、メモリ152から読み出され、通信I/F153から効果音発生装置10の通信I/F105へ送信されて記憶部120に格納される。制御部110(
図2)は、各コムフィルタモジュール220Aにおけるフィルタ222及び乗算器223の各組に、通過帯域及び係数を設定することで、コムフィルタ220をアクティベート状態にする。
【0055】
遅延ブロック225は、複数のフィルタ222及び乗算器223の組の出力に対して所定の遅延を与え、乗算器226は、遅延ブロック225の出力に所定の係数を乗じる。乗算器226の出力は、加算器221に入力される。乗算器226は、コムフィルタモジュール220Aのループゲインを規定するものであり、乗算器226の係数が大きくなるほど残留時間が長くなる。
【0056】
遅延ブロック224は、異なる遅延の度合い(L1,L2,L3,・・・)を有し、コムフィルタモジュール220Aからの出力信号に所定の遅延を与える。なお、遅延ブロック220aと、遅延ブロック224との一方は省略されてもよい。但し、遅延ブロック220aと遅延ブロック224との双方が設けられており、遅延ブロック220aで与える単位遅延と遅延ブロック224で与える単位遅延とが異ならせて、遅延の度合いを細分化してもよい。
【0057】
PC150では、
図7A、
図7B、
図7Cに示したような、異なる音声の出力場所(すなわち、インパルス応答(IR)の測定場所)についてのインパルス応答のデータ(残響音特性のデータ)から、複数の測定場所に応じた複数の全極型フィルタ210及びコムフィルタ220用のパラメータセットが生成される。複数のパラメータセットは、例えば通信によって効果音発生装置10へ送られ、記憶部120に記憶される。
【0058】
すなわち、
図3に示す記憶部120には、
図7A、
図7B、
図7Cに示したような、異なる音声の出力場所(すなわち、インパルス応答(IR)の測定場所)についてのインパルス応答の特性に応じた、複数のパラメータセットを格納している。DSP200をパラメータセットの設定によって全極型フィルタ210及びコムフィルタ220として動作させる場合に、制御部110は、UI104を用いたユーザの指示等に応じて、全極型フィルタ210に係る係数や次数、コムフィルタ220に係る通過帯域や係数、残響時間等を、調整可能としてもよい。
【0059】
図9Aは、FIRフィルタを用いた残響音の周波数特性を示し、
図9Bは、全極型フィルタ210を用いた残響音の周波数特性を示し、
図9Cは、全極型フィルタ210及びコムフィルタ220を用いた残響音の周波数特性を示す。全極型フィルタ210及びコムフィルタ220を用いると、その波形をFIRフィルタの波形に近づけることができ、残響音の特性を、演算量を減らしつつ、FIRフィルタを用いた場合に近づけることができる。
【0060】
<効果音の記録、再生>
コムフィルタ220(DSP200)の出力信号は、音声信号に残響音の信号が付加された信号であり、このような信号がD/Aコンバータ40でアナログ信号に変換され、アンプで増幅され、スピーカから出力される。
【0061】
全極型フィルタ210用のパラメータセット、及びコムフィルタ220用のパラメータセットは、制御部110によって、記憶部120に記憶してもよい。その後、制御部110が必要に応じてパラメータセットを読み出し、DSP200に設定することで、全極型フィルタ210及びコムフィルタ220を再現することができる。
【0062】
上述したように、複数のインパルス応答の測定場所について、全極型フィルタ210、或いは全極型フィルタ210及びコムフィルタ220の組み合わせについて、複数のパラメータセットのデータを記憶部120に記憶しておき、ユーザがUI104を用いて測定場所(ユーザの所望する音声の聴取場所(建物など))を指定できるようにしてもよい。また、各測定場所に関して、複数の測定位置(例えば、座席位置、舞台上、など)のパラメータセットをさらに記憶し、ユーザが指定できるようにしてもよい。
【0063】
<PC及び効果音発生装置における処理>
以下、PC150及び効果音発生装置10における処理について説明する。
<<パラメータセット生成処理>>
図10は、PC150によるパラメータセット生成処理の一例を示すフローチャートである。
図10の処理は、IRの測定場所又は測定位置毎に実行される。
図10において、PC150のメモリ152にFIRデータが記憶されると(S01)、プロセッサ151は、プログラムの実行によって、以下のような処理を行う。すなわち、プロセッサ151は、ディスプレイ155に、次数及び係数の数の指定入力を促す画面を表示し、入力装置154から入力される次数及び係数の数を受け付ける(S02)。次に、プロセッサ151は、指定された次数及び係数の数を用いて、FIRデータの全極化(IIRへの変換)処理を行う(S03)。全極化の手法は上述した通りである。
【0064】
S03の処理によって、プロセッサ151は、次数を変更し、係数が疎の全極型フィルタ210を生成する。S04では、プロセッサ151は、コムフィルタ220を生成するかを判定する。コムフィルタ220を生成すると判定する場合には、処理がS05に進み、そうでない場合には、処理S07に進む。コムフィルタ220を生成しない場合、
図2の乗算器230の係数が零に設定され、コムフィルタ220からの出力が零の状態にされる。
【0065】
S05では、プロセッサ151は、入力装置154から入力される、測定場所の残響音特性データを受け付ける。S06では、プロセッサ151は、上述した手法を用いて、コムフィルタ220のパラメータセットを生成する。
【0066】
S07では、プロセッサ151は、全極型フィルタ210のパラメータセット、コムフィルタ220のパラメータセット(生成した場合)を、メモリ152に記憶(保存)する。S08では、プロセッサ151は、パラメータセットの出力を行う。例えば、プロセッサ151は、通信I/F153を用いて、全極型フィルタ210のパラメータセット、コムフィルタ220のパラメータセット(生成した場合)を、効果音発生装置10などの他の装置へ送信する。このときのパラメータセットの出力先は、PC150に接続された外部記憶装置(例えばUSBメモリ)であってもよい。なお、各パラメータセットを効果音発生装置10のファームウェアのコンパイル時に結合してもよい。
【0067】
<<効果音付加処理>>
図11は、効果音発生装置における効果音付加処理の一例を示すフローチャートである。
図11に示す処理は、DSP200によって行われる。S11において、DSP200には、プログラムの実行によって制御部110として動作するCPU101によって、全極型フィルタ210及びコムフィルタ220のパラメータセットに基づく設定が行われる。
【0068】
S12において、DSP200に対する音声信号の入力が開始されると、DSP200は、全極型フィルタ210及びコムフィルタ220として動作し、入力音声信号に対して効果音(測定場所の残響音)が付加された音声信号を生成し(S13)、出力する(S14)。DSP200から出力された音声信号に基づく音声は、スピーカから出力される。また、制御部110は、記憶部120にて、音声信号に基づく音声ファイル(音声データ)を記憶する処理を行う(S15)。
【0069】
<測定場所・測定位置の選択>
図12は、UI104に含まれるディスプレイ装置(タッチパネル)に表示される、パラメータセットの指定画面の例を示す。
図12の例では、複数の測定場所と、各測定場所における複数の測定位置とが表示され、測定場所及び測定位置(インパルス応答の測定場所及び測定位置)を指定可能となっている。但し、インパルス応答の測定場所及び位置の数は適宜選択できる。すなわち、測定場所(会場)の指定のみ可能となっていてもよく、また1つの測定場所における複数の位置の一つを選択可能となっていてもよい。この場合、複数の測定位置のそれぞれは、「測定場所」に該当する。
【0070】
図13は、パラメータセットの指定処理の例を示すフローチャートである。ユーザは、UI104を操作して、パラメータセットの指定画面の呼び出し指示を入力する。すると、制御部110が、指定画面をUI104に含まれるディスプレイ装置上に表示する(S001)。ユーザが、指定画面を参照し、測定場所と測定位置とをタッチにより指定する(S002)。指定入力はUI104から制御部110に与えられ、制御部110は、指定した測定場所及び測定位置に対応するパラメータセットを記憶部120から読み出し(S003)、DSP200(全極型フィルタ210、又は全極型フィルタ210及びコムフィルタ220)に設定する(S004)。その後、ユーザが、UI104を操作して、DSP200に対する音声信号の入力を開始する(S005)。すると、設定されたパラメータセットに基づく効果音が付加された音声が出力される状態となる。なお、S002において、測定場所と測定位置との一方のみを指定可能な仕様とする場合もある。
【0071】
これによって、電子楽器の演奏者や、再生音声の鑑賞者などのユーザは、所望の測定場所及び測定位置での残響音が反映された音声を聴取することができる。例えば、演奏者は、或る演奏場所(コンサートホールなど)では、座席の違いによって、どのように音声(楽音)が聞こえるのかを知ることが可能となる。また、再生音声の鑑賞者は、自身が行ったことのない、或いは行くことができない音声の出力場所での、残響音が反映された音声を聴取することができる。
【0072】
なお、コムフィルタ220(DSP200)から出力される、残響音が付加された音声信号のディジタル信号を、制御部110(CPU101)が取得し、このディジタル信号を所定の音声ファイル形式のデータに変換し、記憶部120に記憶してもよい。その後、制御部110が、UI104から入力される指示に応じた音声信号の再生出力を行うようにしてもよい。すなわち、複数の相互に異なるIRデータに関して、複数の残響音付加済みの音声信号を生成し、そのディジタルデータを記憶部120にて保存し、ユーザからの指示に応じて再生出力するようにしてもよい。
【0073】
<実施形態の効果>
実施形態に係る効果音発生装置(効果音付加装置)によれば、インパルス応答の実測値に基づいて生成した係数を有する全極型フィルタ210の採用によって、演算量を削減することができる。また、品質のよい効果音を生成できる。また、全極型フィルタ210の次数の指定に応じて、次数を変更する構成を採用する。これによって、演算量を削減できる。
【0074】
また、実施形態では、プロセッサ151は、全極型フィルタ210に設定する係数の数が指定された場合に、所定の選択方法(係数の絶対値の大きい順)に従って、指定された数の係数が選択され、残りの係数の値を零に設定する。これによって、演算量を減らすことができる。
【0075】
また、実施形態では、効果音から特定の帯域成分を抽出するフィルタ(抽出部)222と、抽出された特定の帯域成分を所定の減衰率で減衰させる乗算器(減衰部)223との組を2以上有する少なくとも1つのコムフィルタモジュール220Aを有するコムフィルタ220を用いて、インパルス応答の測定位置における残響特性を有する効果音を生成する。このようなコムフィルタ220の採用によって、演算量が抑制された状態で、インパルス応答の測定場所での帯域毎の減衰具合を再現した残響音を生成することができる。よって、演算量を削減しつつ、品質のよい残響音(効果音)を得ることができる。
【0076】
また、本実施形態では、インパルス応答が、相互に異なる複数のインパルス応答の測定場所にて測定された複数のインパルス応答の中から選択される構成を採用している。すなわち、本実施形態では、複数の異なる出力場所、各出力場所における複数の位置について全極型フィルタ210及びコムフィルタ220のパラメータセットが記憶され、パラメータセットを選択することで、異なるインパルス応答の測定場所や異なる測定位置での残響音を聴取することができる。実施形態にて示した構成は、目的を逸脱しない範囲で適宜組み合わせることができる。
【符号の説明】
【0077】
10・・・効果音発生装置
101・・・CPU
102・・・主記憶装置
103・・・補助記憶装置
110・・・制御部
120・・・記憶部
151・・・プロセッサ
152・・・メモリ
200・・・DSP
210・・・全極型フィルタ
220・・・コムフィルタ
220A・・・コムフィルタモジュール
222・・・フィルタ
223・・・乗算器