JP4656010B2 - ハウリングキャンセラおよびプログラム - Google Patents

ハウリングキャンセラおよびプログラム Download PDF

Info

Publication number
JP4656010B2
JP4656010B2 JP2006187399A JP2006187399A JP4656010B2 JP 4656010 B2 JP4656010 B2 JP 4656010B2 JP 2006187399 A JP2006187399 A JP 2006187399A JP 2006187399 A JP2006187399 A JP 2006187399A JP 4656010 B2 JP4656010 B2 JP 4656010B2
Authority
JP
Japan
Prior art keywords
howling
filter
coefficient
notch
frequency
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
JP2006187399A
Other languages
English (en)
Other versions
JP2008017244A (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 JP2006187399A priority Critical patent/JP4656010B2/ja
Publication of JP2008017244A publication Critical patent/JP2008017244A/ja
Application granted granted Critical
Publication of JP4656010B2 publication Critical patent/JP4656010B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Circuit For Audible Band Transducer (AREA)

Description

本発明は、スピーカからマイクロフォンに音がフィードバックすることによって生じるハウリングを低減するために用いて好適なハウリングキャンセラおよびプログラムに関する。
従来より、マイクロフォンから入力された音声信号のハウリングを除去し、その結果をスピーカ等を介して放音する様々なハウリングキャンセラが知られている。例えば、特許文献1においては、縦続接続された複数のノッチフィルタから成るハウリングキャンセラが開示されている。このハウリングキャンセラにおいては、初期状態において、各ノッチフィルタには、フラットな特性が付与される。そして、このハウリングキャンセラの出力信号の周波数成分が繰り返し解析される。ここで、出力信号中の周波数成分中に所定の条件(例えば所定値以上のレベルを有するなど)を満たすピークが存在する場合は、当該ピークがハウリングであると判定され、その周波数(ハウリング周波数)に対して一のノッチフィルタが割り当てられる。すなわち、ハウリング周波数成分を大きく減衰させるように、このノッチフィルタのパラメータが設定される。その後に、新たなハウリング周波数が発生した場合には、同様にして他のノッチフィルタが割り当てられる。
特許第3235925号公報
しかし、上述した技術においては、ハウリングであると推定される周波数成分が本物のハウリングであるか否かを判定することが困難であり、楽器音または人声音などが誤ってハウリングであると看做される可能性が高かった。
また、ハウリングキャンセラに実装可能なノッチフィルタは無限に存在するわけではないため、上述した技術において、ノッチフィルタ数を超えるハウリング周波数が検出された場合には、最後に検出されたハウリング周波数に対してノッチフィルタを割り当てることができなくなるという問題が生じる。従って、最後に検出されたハウリング周波数のレベルが大きい場合には、ハウリングが非常に耳障りになるという問題が生じる。
この発明は上述した事情に鑑みてなされたものであり、ハウリング周波数の検出精度を高めるとともに、有限数のノッチフィルタを有効に活用することのできるハウリングキャンセラおよびプログラムを提供することを目的としている。
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載のハウリングキャンセラにあっては、第1乃至第nのノッチフィルタ(但し、nは2以上の自然数)から成るフィルタ群(124)を有し、該フィルタ群(124)によってハウリング周波数成分を減衰させるハウリングキャンセラにおいて、前記フィルタ群(124)に対する入力信号または出力信号からハウリング周波数を検出するハウリング検出手段(122)と、前記ハウリング周波数において複数回検出したハウリングレベルを平均した平均レベル(L ave と、該ハウリング周波数の整数倍の周波数において複数回検出したレベルである倍音レベルを平均した平均倍音レベル(Lh ave )と、前記ハウリングレベルの分散(σ2)とを算出、前記平均レベル(Lave)が大となるほど大となり、前記平均倍音レベル(Lhave)が大となるほど小となり、前記分散(σ2)が大となるほど小となるハウリング係数(R)を算出するハウリング係数算出手段(SP49)と、算出した前記ハウリング係数(R)が所定の閾値(Rth)以上であ検出した前記ハウリング周波数が何れのノッチフィルタにも割り当てられていない場合は、前記複数のノッチフィルタのうち何れか一のノッチフィルタを、検出した前記ハウリング周波数に割り当て、前記平均レベルに基づいて当該ノッチフィルタの最大減衰量を設定する一方、算出した前記ハウリング係数(R)が前記閾値(Rth)以上であり、検出した前記ハウリング周波数が既に何れのノッチフィルタに割り当て済みの場合は、前記平均レベルに基づいて当該ノッチフィルタの最大減衰量を再設定する割当手段(SP10〜SP28)と、前記ハウリング周波数が割り当てられた各ノッチフィルタの最大減衰量を、時間経過とともに低減するように更新するフィルタ係数更新手段(SP152)と、前記最大減衰量が所定の減衰量(0dB)以下になったノッチフィルタを解放する解放手段(SP156)とを有することを特徴とする。
さらに、請求項2記載の構成にあっては、請求項1記載のハウリングキャンセラにおいて、前記フィルタ係数更新手段(SP152)による最大減衰量の更新に応じて、当該最大減衰量を前記平均レベルとして前記ハウリング係数(R)の再計算を行う再計算手段(SP154)をさらに有し、前記割当手段(SP18〜SP32)は、検出したハウリング周波数を何れかのノッチフィルタに割り当てるとき、未割当のノッチフィルタが無い場合に、前記複数のノッチフィルタのうち算出または再計算された前記ハウリング係数が最小である一のノッチフィルタを解放し、当該解放したノッチフィルタに対して検出した前記ハウリング周波数を割り当てることを特徴とする
また、請求項3記載のプログラムにあっては、第1乃至第nのノッチフィルタ(但し、nは2以上の自然数)から成るフィルタ群(124)と、前記フィルタ群(124)に対する入力信号または出力信号からハウリング周波数を検出するハウリング検出手段(122)と、前記第1乃至第nのノッチフィルタのパラメータを設定する処理装置(24)とを有し該フィルタ群(124)によってハウリング周波数成分を減衰させるハウリングキャンセラに適用されるプログラムであって、前記処理装置(24)を前記ハウリング周波数において複数回検出したハウリングレベルを平均した平均レベル(L ave )と、該ハウリング周波数の整数倍の周波数において複数回検出したレベルである倍音レベルを平均した平均倍音レベル(Lh ave )と、前記ハウリングレベルの分散(σ 2 )とを算出し、前記平均レベル(L ave )が大となるほど大となり、前記平均倍音レベル(Lh ave )が大となるほど小となり、前記分散(σ 2 )が大となるほど小となるハウリング係数(R)を算出するハウリング係数算出手段(SP49)と、算出した前記ハウリング係数(R)が所定の閾値(Rth)以上であり、検出した前記ハウリング周波数が何れのノッチフィルタにも割り当てられていない場合は、前記複数のノッチフィルタのうち何れか一のノッチフィルタを、検出した前記ハウリング周波数に割り当て、前記平均レベルに基づいて当該ノッチフィルタの最大減衰量を設定する一方、算出した前記ハウリング係数(R)が前記閾値(Rth)以上であり、検出した前記ハウリング周波数が既に何れのノッチフィルタに割り当て済みの場合は、前記平均レベルに基づいて当該ノッチフィルタの最大減衰量を再設定する割当手段(SP10〜SP28)と、前記ハウリング周波数が割り当てられた各ノッチフィルタの最大減衰量を、時間経過とともに低減するように更新するフィルタ係数更新手段(SP152)と、前記最大減衰量が所定の減衰量(0dB)以下になったノッチフィルタを解放する解放手段(SP156)ととして機能させるためのものであることを特徴とする
さらに、請求項4記載の構成にあっては、請求項3記載のプログラムにおいて、前記プログラムは、さらに、前記処理装置(24)を、前記フィルタ係数更新手段(SP152)による最大減衰量の更新に応じて、当該最大減衰量を前記平均レベルとして前記ハウリング係数(R)の再計算を行う再計算手段(SP154)として機能させるものであり、前記割当手段(SP18〜SP32)は、検出したハウリング周波数を何れかのノッチフィルタに割り当てるとき、未割当のノッチフィルタが無い場合に、前記複数のノッチフィルタのうち算出または再計算された前記ハウリング係数が最小である一のノッチフィルタを解放し、当該解放したノッチフィルタに対して検出した前記ハウリング周波数を割り当てることを特徴とする。
このように、倍音成分のレベルまたはハウリング周波数成分のレベルの分散に基づいてハウリング係数を求め、ノッチフィルタの割り当ての要否を判定する構成によれば、楽器音または人声音などが誤ってハウリングであると看做される可能性を抑制することができる。
また、全てのノッチフィルタが割り当てられているときに新たなハウリング周波数が検出されると、ハウリング係数が最小である一のノッチフィルタを解放し、該解放されたノッチフィルタを、新たなハウリング周波数に対して割り当てる構成によれば、有限数のノッチフィルタのパラメータを、例えば音声信号全体としてハウリングによる影響を最小にするように再設定することができ、有限数のノッチフィルタを有効に活用することができる。
1.実施例の構成
次に、本発明の一実施例のハウリングキャンセラ100のハードウエア構成を図1を参照し説明する。
図において2は操作子であり、各種スイッチおよびノブ等から構成されている。4は検出回路であり、操作子2の操作状態を検出する。6は表示部であり、表示回路8の制御の下、ユーザに対して各種情報を表示する。10は音声信号入出力部であり、マイク等から入力されたアナログの音声信号をデジタル信号に変換し信号処理回路12に供給するとともに、信号処理回路12から供給されたデジタル信号をアナログの音声信号に変換し、外部のアンプ等に出力する。信号処理回路12は一または複数のDSP(デジタル・シグナル・プロセッサ)によって構成されており、入力されたデジタルの音声信号に対して、後述するフィルタリング処理等を施す。16は通信インタフェースであり、外部機器14との間で各種制御データを入出力する。24はCPUであり、ROM20に格納された制御プログラムに基づいて、通信バス18を介してハウリングキャンセラ100内の各部を制御する。22はRAMであり、CPU24のワークメモリとして使用される。
次に、ハウリングキャンセラ100のモジュール構成を図2を参照し説明する。図2においてマイク102から入力された音声信号は、入力ゲイン調整部120においてそのレベルが増減される。114は音声信号処理部であり、複数のノッチフィルタを縦続接続したフィルタ群124と、該フィルタ群124の出力信号からハウリング周波数を検出するハウリング検出部122とから構成されている。なお、本実施例においては、フィルタ群124内のノッチフィルタ数は最大「4」であることとする。ハウリング検出部122におけるハウリング検出方法としては、例えばピッチ検出法、FFT解析法、バンドパスフィルタを用いる方法など、各種の方法が知られている。本願実施例のハウリング検出部122においては、これら公知の方法のうち何れを用いても良い。
126は出力ゲイン調整部であり、フィルタ群124の出力信号のレベルを増減し、外部に設けられたアンプ104およびスピーカ106を介して放音する。なお、上述した構成のうち、入力ゲイン調整部120および出力ゲイン調整部126は、音声信号入出力部10によって実現され、音声信号処理部114は信号処理回路12およびここで起動されるマイクロプログラムによって実現される。112は制御部であり、CPU24とROM20とRAM22とから構成され、フィルタ群124の各種パラメータを設定する。110はパネル部であり、操作子2と表示部6とから構成される。
RAM22の所定領域には、図3に示すフィルタ管理テーブル130が記憶される。このテーブル130は、第kノッチフィルタ(但し、k=1〜4)の各々に対して、中心周波数fkと、最大減衰量Gkと、Q値Qk(減衰特性の鋭さ)と、ハウリング係数Rkとが記憶される。ここで、ハウリング係数とは、「該ノッチフィルタに対応するハウリングがどの程度深刻なものであるか」を示す係数である。なお、ハウリング係数Rkの詳細については、動作とともに後述する。
2.実施例の動作
2.1.メインルーチンの処理(図4,図5)
CPU24においては、パネル部110を介してユーザから指示があった場合、または所定時間毎に自動的に、図4,図5に示すメインルーチンが起動される。図4において処理がステップSP2に進むと、現在のフィルタ群124に設定されている設定情報が取得される。ここで、設定情報には、以下のようなものがある。
(1)ノッチフィルタの割当数:ノッチフィルタの最大数は「4」であるが、このパラメータは、実際に現在割り当てられているノッチフィルタの数を表す。
(2)各ノッチフィルタのパラメータ:これは、フィルタ管理テーブル130に記憶されているパラメータである。
(3)AllFiltersResettable :これは、全ノッチフィルタの設定をプログラムによって自動的にリセットしても良いか否かを表すパラメータである。
(4)FiltersReassignable :これは、あるハウリング周波数に割り当てられているノッチフィルタを自動的に解放して他のハウリング周波数に再割当しても良いか否かを表すパラメータである。
次に、処理がステップSP4に進むと、アサインされている全てのノッチフィルタの設定をリセットするか否か、すなわちパラメータAllFiltersResettable が“True”であるか否かが判定される。ここで「YES」と判定されると、処理はステップSP6に進み、全てのノッチフィルタの設定がリセットされる。なお、パラメータAllFiltersResettable が“ False”であれば、ステップSP6はスキップされる。次に、処理がステップSP8に進むと、ハウリング検出部122において、フィルタ群124の出力信号中のハウリングの有無、ハウリング周波数およびハウリングレベルが検出される。
ここで、ハウリングが生じている場合には、複数のハウリング周波数が存在する場合も考えられる。かかる場合には、ハウリングレベルの最も高い一のハウリング周波数のみが処理対象のハウリング周波数として選択される。なお、今回選択された周波数以外のハウリング周波数は、このメインルーチン(図4,図5)が複数回実行されることにより、処理対象のハウリング周波数として順次選択されることになる。次に、処理がステップSP9に進むと、ハウリング係数算出処理サブルーチン(図6、詳細は後述する)が呼び出され、選択されたハウリング周波数成分に係る平均レベルLave、平均倍音レベルLhave、分散σ2およびハウリング係数R等が算出される。なお、これらのパラメータの意義についても詳細は後述する。
次に、処理がステップSP10に進むと、この算出されたハウリング係数Rが、ノッチフィルタを割り当てるための下限値である所定の閾値Rth以上であるか否かが判定される。ここで、ハウリング係数Rが該閾値Rth未満であった場合は「NO」と判定され、処理はステップSP12に進む。ここでは、除去する対象になり得るハウリング周波数成分が発見されなかった旨の確認メッセージが表示部6に表示され、本ルーチンが終了する。一方、ハウリング係数Rが閾値Rth以上であった場合には、処理はステップSP14に進み、既にアサインされているノッチフィルタのパラメータを変更することによって、処理対象のハウリング周波数に対処することが可能であるか否かが判定される。
ここで「YES」と判定されると、処理はステップSP15に進み、必要なパラメータ変更が行われた後に本ルーチンの処理が終了する。例えば、既にアサインされているノッチフィルタに係るハウリング周波数のレベルが増大し、アサイン済みの第kノッチフィルタの最大減衰量Gkが低すぎることになった場合には、ステップSP15にあっては、当該最大減衰量Gkを増加するようにフィルタ管理テーブル130の内容が変更される。その際、ハウリング係数Rkも増加するように更新されるが、その処理については後述する。
一方、新たなハウリング周波数が検出された場合においては、ステップSP14において「NO」と判定され、処理はステップSP16に進む。ここでは、未アサインのノッチフィルタが存在するか否かが判定される。未アサインのノッチフィルタが存在した場合は「YES」と判定され、処理はステップSP18に進む。ここでは、未アサインのノッチフィルタに対して、今回の処理対象となるハウリング周波数が割り当てられる。また、本実施例においては、説明の簡略化のため、あるノッチフィルタに対応するハウリングの平均レベルLaveと最大減衰量とのデシベル値とが一致することとする。
例えば、あるハウリング周波数成分の平均レベルLaveが「10dB」であれば、この周波数に対してアサインされるノッチフィルタの最大減衰量は「10dB」になる。従って、ステップSP18においては、ハウリング周波数成分の平均レベルLaveに等しい値にノッチフィルタの最大減衰量が設定される。このように、ノッチフィルタが何れかのハウリング周波数が割り当てられると、その割当時刻がRAM22内に記憶される。ここで、第nノッチフィルタについての割当時刻をtas(n)という。
一方、全ノッチフィルタが既にアサイン済みである場合はステップSP16において「NO」と判定され、処理はステップSP20に進む。ここでは、ノッチフィルタの再アサインが許容されているか否か、すなわちパラメータFiltersReassignable が“True”であるか否かが判定される。ここで「NO」と判定されると処理はステップSP22に進み、「全てのノッチフィルタがアサイン済みである」旨の警告メッセージが表示部6に表示され、本ルーチンの処理が終了する。一方、ノッチフィルタの再アサインが許容されている場合は「YES」と判定され、処理はステップSP24に進み、フィルタ解放処理サブルーチン(図8)が呼び出される。その処理の内容については後述するが、ここではアサイン済みの一のノッチフィルタが解放される。次に、処理がステップSP26に進むと、フィルタ解放処理によって解放されたノッチフィルタに対して、今回の処理対象のハウリング周波数がアサインされる。
上記ステップSP18において第kノッチフィルタがアサインされた場合、または、上記ステップSP26において第kノッチフィルタが再アサインされた場合には、何れも次に処理はステップSP28に進む。ここでは、ステップSP18,SP26の処理対象になった第kノッチフィルタのハウリング係数Rkとして、先にステップSP9において算出されたハウリング係数Rが記録され、本ルーチンの処理が終了する。
2.2.ハウリング係数算出処理(図6)
上述したステップSP9においては、図6に示すハウリング係数算出処理サブルーチンが呼び出される。
図6において処理がステップSP40に進むと、カウント変数iが「1」に設定される。次に、処理がステップSP42に進むと、ハウリング周波数成分のレベルLiと、当該ハウリング周波数の2倍音(2倍の周波数の成分)のレベルLhiとが測定され、その結果がRAM22に記憶される。次に、ステップSP44においては、処理が所定時間だけ待機する。次に、処理がステップSP46に進むと、カウント変数iが「1」だけインクリメントされる。次に、処理がステップSP48に進むと、カウント変数iが所定数Nを超えたか否かが判定される。ここで「NO」と判定されると、処理はステップSP42に戻る。これにより、ステップSP42〜SP48の処理がN回だけ繰り返され、カウント変数iが所定数Nを超えると、処理はステップSP49に進む。
このステップSP49においては、ハウリング係数Rが算出されるが、その詳細を図7を参照し説明する。まず、先に測定されたハウリング周波数成分のレベルL1,L2,……,LNの平均値が求められる。この平均値を平均レベルLaveという。平均レベルLaveが求まると、図7(a)のグラフに基づいて、重みWAが求められる。この重みWAは平均レベルLaveが高くなるほど高くなるように設定される。これは、ハウリング周波数成分のレベルが高いほど、当該ハウリングが深刻であることを示す。
また、ステップSP49においては、当該ハウリング周波数の2倍音のレベルLh1,Lh2,……,LhNに対して、その平均レベルも算出される。算出された2倍音の平均レベルは、ハウリング周波数成分の平均レベルLaveを基準とする(0dBとする)対数値に変換される。この変換された値を平均倍音レベルLhaveという。平均倍音レベルLhaveが求まると、図4(b)のグラフに基づいて、重みWBが求められる。この重みWBは平均倍音レベルLhaveが高くなるほど低くなるように設定される。すなわち、重みWBが低くなるほど、当該ハウリングが深刻なものであると判断されることになる。この重みWBの意義について説明しておく。
まず、本実施例にいう「ハウリング周波数成分」とは、より正確には、ハウリング検出部122においてハウリングであると判定された周波数成分である。しかし、ハウリング検出部122におけるハウリング検出アルゴリズムの精度等に限界がある以上、ハウリング検出部122においてハウリングであると判定された周波数成分は、必ずしも本物のハウリングであると言い切れない場合もある。ここで、本物のハウリングには倍音成分は存在しないはずであるから、仮に本物のハウリングの「2倍」の周波数成分にある程度のレベルが検出されたとしても、これは「たまたま」そのような周波数成分が存在したということに過ぎない。
しかし、「ハウリングであると判定された周波数成分」の「2倍」の周波数成分のレベルが高い場合には、「ハウリングであると判定された周波数成分」は、実際には楽器音や人声音であり、その「2倍」の周波数成分は楽器音や人声音の倍音成分である可能性が高いと考えられる。このため、本実施例においては、このような楽器音や人声音の可能性が高い周波数成分がノッチフィルタによって除去されにくくするように、平均倍音レベルLhaveが高いほど重みWBが小さくなるようにしている。
さらに、ステップSP49においては、N回に渡って検出されたハウリング周波数成分のレベルL1,L2,……,LNに対して、これらレベルの分散σ2=(1/N){(L1−Lave2+(L2−Lave2+……+(LN−Lave2}求められる。そして、図4(c)のグラフに基づいて、分散σ2が大きくなるほど小さくなる重みWCが求められる。これは、分散σ2が小さいほど、当該ハウリングが深刻であることを示す。ここで、重みWCの意義について説明しておく。上述したように、「ハウリング周波数成分」は、実際には本物のハウリングの周波数成分ではない場合がある。ところで、実際のハウリングは、そのレベルがほぼ一定になる。換言すれば、レベルの変動が大きい(レベルの分散σ2が大きい)ハウリング周波数成分は、実際には楽器音や人声音である可能性が高いと考えられる。このため、本実施例においては、このような周波数成分がノッチフィルタによって除去されにくくするように、分散σ2が大きいほど重みWCが小さくなるようにしている。
以上のように、ハウリング周波数成分に対して重みWA,WB,WCが求められると、対応するハウリング係数Rは、例えばこれらの積(WA・WB・WC)によって求められる。そして、上述したように、メインルーチンのステップSP28(図5参照)においては、このハウリング周波数成分に対して第kノッチフィルタがアサインされる場合には、該第kノッチフィルタのハウリング係数Rkとして、求められたハウリング係数Rが格納される。
2.3.ステップSP15におけるハウリング係数Rkの更新処理
上述したように、ステップSP15が実行される場合とは、既にアサインされているノッチフィルタに係るハウリング周波数のレベルが増大し、アサイン済みの第kノッチフィルタの最大減衰量Gkが低すぎることになった場合である。かかる場合には、過去に(メインルーチンが今回実行される前に)測定された平均レベルLave、平均倍音レベルLhaveおよび分散σ2に基づいて、重みWA,WB,WCと、ハウリング係数Rkとが算出されている。これら過去に測定/算出された各値を、平均レベルL1ave、平均倍音レベルLh1ave、分散σ1 2という。
また、ステップSP15が実行される場合には、その前にステップSP9においてハウリング係数算出処理サブルーチン(図6)が実行されている。メインルーチンが今回実行された際に測定/算出された各値を、平均レベルL2ave、平均倍音レベルLh2ave、分散σ2 2という。ステップSP15においては、
平均レベルLave=L1ave+L2ave
平均倍音レベルLhave=Lh1ave+Lh2ave、および
分散σ2=σ2 2
として、新たな平均レベルLave、平均倍音レベルLhaveおよび分散σ2が求められ、その結果に基づいて新たな重みWA,WB,WCと、ハウリング係数Rkとが計算され、計算されたハウリング係数Rkがフィルタ管理テーブル130に書き込まれる。
2.4.フィルタ解放処理(図8)
また、上述したステップSP24においては、図8に示すフィルタ解放処理サブルーチンが呼び出される。
図8において処理がステップSP50に進むと、アサインされている全てのノッチフィルタについて、ハウリング係数Rkが読み出される。次に、処理がステップSP52に進むと、ハウリング係数Rkが最小であるノッチフィルタが選択される。次に、処理がステップSP54に進むと、選択されたノッチフィルタが複数存在するか否かが判定される。ここで「YES」と判定されると、処理はステップSP56に進み、これらのノッチフィルタのうち最初にアサインされたフィルタ、すなわち割当時刻tas(n)が最先であるフィルタのみが選択される。次に、処理がステップSP58に進むと、選択されたノッチフィルタがリリースされる。
次に、本サブルーチンによる処理の具体例を図10を参照し説明する。図10においては、メインルーチンが呼び出される前に、既にハウリング周波数fh1〜fh4を有するハウリング周波数成分201〜204が検出されており、これらに対して第1〜第4ノッチフィルタがアサインされ、各ノッチフィルタに減衰特性221〜224が設定されていたとする。ここで、各ノッチフィルタに係るハウリング周波数成分の平均倍音レベルLhaveおよび分散σ2は等しいこととする。さらに、第3,第4ノッチフィルタの最大減衰量は等しいものとする。
かかる状態でメインルーチンのステップSP8において、ハウリング周波数fh5を有するハウリング周波数成分205が検出され、ステップSP9においてそのハウリング係数Rが閾値Rth以上であったと判定されたとする。その後ステップSP24を介してフィルタ解放処理サブルーチン(図8)が呼び出されると、そのステップSP52においては、ハウリング係数Rkが最小であるノッチフィルタが選択される。
ここで、「各ノッチフィルタに係るハウリング周波数成分の平均倍音レベルLhaveおよび分散σ2は等しい」との前提によれば、最大減衰量Gkが最小である第3,第4ノッチフィルタが選択される。そして、両ノッチフィルタのうち割当時刻の古い側のノッチフィルタのみがステップSP56において選択される、ステップSP58においてリリースされる。ノッチフィルタがリリースされると、メインルーチンのステップSP26(図5)において該ノッチフィルタがハウリング周波数成分205に割り当てられ、該ハウリング周波数成分205を減衰させる減衰特性225が付与される。
2.5.タイマ割込み処理ルーチンの詳細(図9)
CPU24においては、所定時間(数秒程度)毎にタイマ割込みが発生し、図9に示すタイマ割込み処理ルーチンが起動される。図9において処理がステップSP152に進むと、全ノッチフィルタの最大減衰量Gkが所定の変化量ΔLづつ低減される。次に、処理がステップSP154に進むと、ハウリング係数Rkが変更される。すなわち、現在のハウリング係数Rkは、平均レベルLave、平均倍音レベルLhaveおよび分散σ2に基づいて計算されたものであるが、現在の平均レベルLaveから変化量ΔLを減算した値を新たな平均レベルLave(新たな最大減衰量Gkに等しい)とし、この新たな平均レベルLaveと、従前の平均倍音レベルLhaveおよび分散σ2とに基づいて、ハウリング係数Rkが再計算され、再計算されたハウリング係数Rkがフィルタ管理テーブル130に書き込まれる。
次に、処理がステップSP156に進むと、最大減衰量が「0dB」以下になったノッチフィルタがリリースされる。これにより、ハウリングが生じたために一旦はその周波数成分にノッチフィルタが割り当てられたとしても、そのハウリングの要因が解消されたのであれば、やがて当該ノッチフィルタはリリースされることになる。一方、ハウリングの要因が解消されていない場合においてノッチフィルタの最大減衰量が低減されてゆくと、そのハウリング周波数において再びハウリングが発生する。この場合は、上述したステップSP15において当該最大減衰量が増加される。
3.変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例においては、CPU24上で動作するプログラムによって各種処理を実行したが、このプログラムのみをCD−ROM、メモリカード等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
(2)また、上記実施例のハウリングキャンセラは、単体で用いられるものに限られず、例えばオーディオミキサなどに組み込んでも良いことは言うまでもない。
(3)また、上記実施例においては、ハウリング検出部122はフィルタ群124の出力信号中のハウリングの有無、ハウリング周波数およびハウリングレベルを検出したが、フィルタ群124の入力信号のハウリングの有無、ハウリング周波数およびハウリングレベルを検出するようにしてもよい。
(4)また、上記実施例においては、倍音レベルLhはハウリング周波数の「2倍」の周波数成分のレベルであったが、これは「2倍」に限定されるものではなく、「3倍」、「4倍」など他の整数倍の周波数成分のレベルであってもよい。
(5)また、上記実施例においては、ハウリング係数Rは、「R=WA・WB・WC」なる計算式によって求められた。しかし、ハウリング係数Rを計算するための計算式はこれに限られるものではなく、種々の変形が可能である。例えば、ハウリング係数Rに対する重みWA,WB,WCの影響度を表す定数を各々PA, PB, PC とし、
「R=WAPA・WBPB・WCPC」、または「R=WA・PA+WB・PB+WC・PC」なる計算式によってハウリング係数Rを計算してもよい。
本発明の一実施例のハウリングキャンセラ100のハードウエアブロック図である。 該ハウリングキャンセラ100のモジュール構成を示すブロック図である。 RAM22内に記憶されるフィルタ管理テーブル130のデータ構造を示す図である。 該ハウリングキャンセラ100のメインルーチンのフローチャート(1/2)である。 該ハウリングキャンセラ100のメインルーチンのフローチャート(2/2)である。 ハウリング係数算出処理サブルーチンのフローチャートである。 重みWA,WB,WCの設定例を示す図である。 フィルタ解放処理サブルーチンのフローチャートである。 タイマ割込み処理ルーチンのフローチャートである。 実施例の動作説明図である。
符号の説明
2:操作子、4:検出回路、6:表示部、8:表示回路、10:音声信号入出力部、12:信号処理回路、14:外部機器、16:通信インタフェース、18:通信バス、20:ROM、22:RAM、24:CPU(処理装置)、100:ハウリングキャンセラ、102:マイク、104:アンプ、106:スピーカ、110:パネル部、112:制御部、114:音声信号処理部、120:入力ゲイン調整部、122:ハウリング検出部(ハウリング検出手段)、124:フィルタ群、126:出力ゲイン調整部、130:フィルタ管理テーブル。

Claims (4)

  1. 第1乃至第nのノッチフィルタ(但し、nは2以上の自然数)から成るフィルタ群を有し、該フィルタ群によってハウリング周波数成分を減衰させるハウリングキャンセラにおいて、
    前記フィルタ群に対する入力信号または出力信号からハウリング周波数を検出するハウリング検出手段と、
    前記ハウリング周波数において複数回検出したハウリングレベルを平均した平均レベルと、該ハウリング周波数の整数倍の周波数において複数回検出したレベルである倍音レベルを平均した平均倍音レベルと、前記ハウリングレベルの分散とを算出、前記平均レベルが大となるほど大となり、前記平均倍音レベルが大となるほど小となり、前記分散が大となるほど小となるハウリング係数を算出するハウリング係数算出手段と、
    算出した前記ハウリング係数が所定の閾値以上であ検出した前記ハウリング周波数が何れのノッチフィルタにも割り当てられていない場合は、前記複数のノッチフィルタのうち何れか一のノッチフィルタを、検出した前記ハウリング周波数に割り当て、前記平均レベルに基づいて当該ノッチフィルタの最大減衰量を設定する一方、算出した前記ハウリング係数が前記閾値以上であり、検出した前記ハウリング周波数が既に何れのノッチフィルタに割り当て済みの場合は、前記平均レベルに基づいて当該ノッチフィルタの最大減衰量を再設定する割当手段と、
    前記ハウリング周波数が割り当てられた各ノッチフィルタの最大減衰量を、時間経過とともに低減するように更新するフィルタ係数更新手段と、
    前記最大減衰量が所定の減衰量以下になったノッチフィルタを解放する解放手段と
    を有することを特徴とするハウリングキャンセラ。
  2. 前記フィルタ係数更新手段による最大減衰量の更新に応じて、当該最大減衰量を前記平均レベルとして前記ハウリング係数の再計算を行う再計算手段をさらに有し、
    前記割当手段は、検出したハウリング周波数を何れかのノッチフィルタに割り当てるとき、未割当のノッチフィルタが無い場合に、前記複数のノッチフィルタのうち算出または再計算された前記ハウリング係数が最小である一のノッチフィルタを解放し、当該解放したノッチフィルタに対して検出した前記ハウリング周波数を割り当てること
    を特徴とする請求項1記載のハウリングキャンセラ。
  3. 第1乃至第nのノッチフィルタ(但し、nは2以上の自然数)から成るフィルタ群と、前記フィルタ群に対する入力信号または出力信号からハウリング周波数を検出するハウリング検出手段と、前記第1乃至第nのノッチフィルタのパラメータを設定する処理装置とを有し該フィルタ群によってハウリング周波数成分を減衰させるハウリングキャンセラに適用されるプログラムであって、前記処理装置を
    前記ハウリング周波数において複数回検出したハウリングレベルを平均した平均レベルと、該ハウリング周波数の整数倍の周波数において複数回検出したレベルである倍音レベルを平均した平均倍音レベルと、前記ハウリングレベルの分散とを算出し、前記平均レベルが大となるほど大となり、前記平均倍音レベルが大となるほど小となり、前記分散が大となるほど小となるハウリング係数を算出するハウリング係数算出手段と、
    算出した前記ハウリング係数が所定の閾値以上であり、検出した前記ハウリング周波数が何れのノッチフィルタにも割り当てられていない場合は、前記複数のノッチフィルタのうち何れか一のノッチフィルタを、検出した前記ハウリング周波数に割り当て、前記平均レベルに基づいて当該ノッチフィルタの最大減衰量を設定する一方、算出した前記ハウリング係数が前記閾値以上であり、検出した前記ハウリング周波数が既に何れのノッチフィルタに割り当て済みの場合は、前記平均レベルに基づいて当該ノッチフィルタの最大減衰量を再設定する割当手段と、
    前記ハウリング周波数が割り当てられた各ノッチフィルタの最大減衰量を、時間経過とともに低減するように更新するフィルタ係数更新手段と、
    前記最大減衰量が所定の減衰量以下になったノッチフィルタを解放する解放手段と
    として機能させるためのプログラム
  4. 前記プログラムは、さらに、前記処理装置を、
    前記フィルタ係数更新手段による最大減衰量の更新に応じて、当該最大減衰量を前記平均レベルとして前記ハウリング係数の再計算を行う再計算手段
    として機能させるものであり、
    前記割当手段は、検出したハウリング周波数を何れかのノッチフィルタに割り当てるとき、未割当のノッチフィルタが無い場合に、前記複数のノッチフィルタのうち算出または再計算された前記ハウリング係数が最小である一のノッチフィルタを解放し、当該解放したノッチフィルタに対して検出した前記ハウリング周波数を割り当てること
    を特徴とする請求項3記載のプログラム。
JP2006187399A 2006-07-07 2006-07-07 ハウリングキャンセラおよびプログラム Expired - Fee Related JP4656010B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006187399A JP4656010B2 (ja) 2006-07-07 2006-07-07 ハウリングキャンセラおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006187399A JP4656010B2 (ja) 2006-07-07 2006-07-07 ハウリングキャンセラおよびプログラム

Publications (2)

Publication Number Publication Date
JP2008017244A JP2008017244A (ja) 2008-01-24
JP4656010B2 true JP4656010B2 (ja) 2011-03-23

Family

ID=39073851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006187399A Expired - Fee Related JP4656010B2 (ja) 2006-07-07 2006-07-07 ハウリングキャンセラおよびプログラム

Country Status (1)

Country Link
JP (1) JP4656010B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009225101A (ja) * 2008-03-17 2009-10-01 Yamaha Corp ハウリング抑制装置
JP5278220B2 (ja) 2009-07-17 2013-09-04 ヤマハ株式会社 ハウリングキャンセラ
JP5278219B2 (ja) 2009-07-17 2013-09-04 ヤマハ株式会社 ハウリングキャンセラ

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63281598A (ja) * 1987-05-14 1988-11-18 Sony Corp ハウリング防止装置
JPH05236588A (ja) * 1992-02-21 1993-09-10 Matsushita Electric Ind Co Ltd ハウリング抑制装置
JP2004254016A (ja) * 2003-02-19 2004-09-09 Matsushita Electric Ind Co Ltd ハウリング抑制装置
JP2006166375A (ja) * 2004-12-10 2006-06-22 Yamaha Corp ハウリングキャンセラ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63281598A (ja) * 1987-05-14 1988-11-18 Sony Corp ハウリング防止装置
JPH05236588A (ja) * 1992-02-21 1993-09-10 Matsushita Electric Ind Co Ltd ハウリング抑制装置
JP2004254016A (ja) * 2003-02-19 2004-09-09 Matsushita Electric Ind Co Ltd ハウリング抑制装置
JP2006166375A (ja) * 2004-12-10 2006-06-22 Yamaha Corp ハウリングキャンセラ

Also Published As

Publication number Publication date
JP2008017244A (ja) 2008-01-24

Similar Documents

Publication Publication Date Title
KR101356206B1 (ko) 자동 오디오 볼륨 기능을 갖는 오디오 재생 방법 및 장치
JP2962732B2 (ja) 補聴器用信号処理システム
US8422697B2 (en) Background noise estimation
JP4416367B2 (ja) スピーカ保護システム
CA2806372C (en) System and method for dynamic residual noise shaping
JP5542122B2 (ja) ダイナミックサウンド提供システム
KR101732208B1 (ko) 오디오 녹음의 적응적 동적 범위 강화
CN102726060B (zh) 用于头戴式耳机装置的控制器
WO2007031582A1 (en) Audio dosage control
JP4656010B2 (ja) ハウリングキャンセラおよびプログラム
US20060178876A1 (en) Speech signal compression device speech signal compression method and program
JP2008268257A (ja) 音響特性補正システムおよびこれを備えたカラオケ装置
JP4743018B2 (ja) ハウリング除去装置
JP2009296298A (ja) 音声信号処理装置および方法
JP4596273B2 (ja) ハウリングキャンセラおよびプログラム
WO2016059878A1 (ja) 信号処理装置、信号処理方法及びコンピュータプログラム
CN113194381A (zh) 音量调节方法、装置、音响设备和存储介质
JP4798359B2 (ja) 音響処理装置
JP4811475B2 (ja) 録音装置、録音方法、音声信号補正回路及びプログラム
JP3322479B2 (ja) オーディオ装置
KR20110007394A (ko) 실시간 하울링 신호 제거 시스템 및 그 방법
JP6673127B2 (ja) ハウリング抑制装置及びカラオケ装置
JPH03237899A (ja) ハウリング抑制装置
WO2024095527A1 (ja) フィルタの設定方法、フィルタ設定装置、およびフィルタ設定プログラム
US20230395093A1 (en) Sound processing device and sound processing method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100730

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

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

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4656010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees