JP3687096B2 - 音響信号コンプレッサ装置 - Google Patents
音響信号コンプレッサ装置 Download PDFInfo
- Publication number
- JP3687096B2 JP3687096B2 JP2001373877A JP2001373877A JP3687096B2 JP 3687096 B2 JP3687096 B2 JP 3687096B2 JP 2001373877 A JP2001373877 A JP 2001373877A JP 2001373877 A JP2001373877 A JP 2001373877A JP 3687096 B2 JP3687096 B2 JP 3687096B2
- Authority
- JP
- Japan
- Prior art keywords
- multiplication
- output
- multiplying
- division
- result
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、音声信号や楽音信号などの音響信号のレベルを制限する音響信号コンプレッサ装置に関する。
【0002】
【従来の技術】
コンプレッサは、音響信号のダイナミックレンジを圧縮する装置である。ディジタルコンプレッサは、ディジタル音響信号を入力とするコンプレッサである。ディジタルコンプレッサでは、例えば、入力信号のレベルを対数変換し、所定のスレショルドとレシオに応じた変換を施した後、指数変換し、これと入力信号とを乗算する、というような処理を行なっている。他の方法として、テーブルを用いる方法や、折れ線近似で振幅比を決める方法などもある。
【0003】
特開平3−218109号には、入力信号を所定時間遅延した信号に、入力信号のレベル値に対応した値を乗算(入力レベルの小さな音響信号のレベルを増加させ、かつ入力レベルの大きな音響信号のレベルを減少させるようにする)することにより、音響信号のダイナミックレンジを変更するディジタルコンプレッサが開示されている。特開平6−332454号には、複数チャンネル分累算されたディジタル楽音信号から振幅エンベロープを検出し、入力信号レベルが小さな領域で一定のゲインを表しかつ入力信号レベルの大きな領域では徐々に減少するゲインを表す出力信号を出力する非線形変換回路を介することにより、ダイナミックレンジを変更する電子楽器が開示されている。
【0004】
【発明が解決しようとする課題】
上述の従来のディジタルコンプレッサでは、その特性が固定的であり、電子楽器などに適用したとき、面白みのない平板な楽音になりがちであった。近年では、楽音に歪みを与えることにより、変化が豊かで効果的な楽音を生成したいという要求がある。
【0005】
この発明は、上述の従来形における問題点に鑑み、面白みがなく平板な音となりがちであるという従来のディジタルコンプレッサの欠点を解消し、構成が簡単で、入出力関係が固定的でないようなディジタルコンプレッサを提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため、請求項1に係る発明は、入力信号の振幅レベルを検出するエンベロープフォロワと、該振幅レベルに基づいて除数を決定する変換手段と、被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する除算フィルタ手段と、前記入力信号に前記除算結果を乗算することにより、前記入力信号の振幅を制御する第1の乗算手段とを備え、前記エンベロープフォロワは、前記入力信号に対して全波整流を行なう全波整流手段と、前記全波整流手段の出力から、後記する第2の乗算手段の出力を減算する減算手段と、前記減算手段の出力に対して半波整流を行なう半波整流手段と、前記半波整流手段の出力に、外部から供給された乗算係数を乗算する第3の乗算手段と、前記第3の乗算手段の出力に、後記する第2の乗算手段の出力を加算する第1の加算手段と、前記第1の加算手段の出力を遅延させて出力する第1の遅延手段と、前記第1の遅延手段の出力に、外部から供給された乗算係数を乗算し、乗算結果を前記減算手段および前記第1の加算手段に供給する第2の乗算手段とを備え、前記変換手段は、前記エンベロープフォロワの第1の加算手段の出力に、外部から供給された乗算係数を乗算する第4の乗算手段と、前記第4の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する第2の加算手段とを備え、前記除算フィルタ手段は、入力した信号を遅延させて出力する第2の遅延手段と、前記除数に前記第2の遅延手段の出力を乗算する第5の乗算手段と、前記第5の乗算手段の乗算結果を、外部から供給されたスレッショルド値から減算するとともに、前記第2の遅延手段の出力を加算し、その結果を、除算結果として前記遅延手段および前記第1の乗算手段に出力する加減算手段とを備え、前記第1から第5の乗算手段、前記第1および第2の加算手段、前記エンベロープフォロワ内の減算手段、並びに、前記除算フィルタ手段内の加減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものであることを特徴とする。
請求項2に係る発明は、入力信号の振幅レベルを検出するエンベロープフォロワと、該振幅レベルに基づいて除数を決定する変換手段と、被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する除算フィルタ手段と、前記入力信号に前記除算結果を乗算することにより、前記入力信号の振幅を制御する第1の乗算手段とを備え、前記エンベロープフォロワは、前記入力信号に対して全波整流を行なう全波整流手段と、前記全波整流手段の出力から、後記する第2の乗算手段の出力を減算する減算手段と、前記減算手段の出力に対して半波整流を行なう半波整流手段と、前記半波整流手段の出力に、外部から供給された乗算係数を乗算する第3の乗算手段と、前記第3の乗算手段の出力に、後記する第2の乗算手段の出力を加算する第1の加算手段と、前記第1の加算手段の出力を遅延させて出力する第1の遅延手段と、前記第1の遅延手段の出力に、外部から供給された乗算係数を乗算し、乗算結果を前記減算手段および前記第1の加算手段に供給する第2の乗算手段とを備え、前記変換手段は、前記エンベロープフォロワの第1の加算手段の出力に、外部から供給された乗算係数を乗算する第4の乗算手段と、前記第4の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する第2の加算手段とを備え、前記除算フィルタ手段は、入力した信号を遅延させて出力する第2の遅延手段と、前記除数に前記第2の遅延手段の出力を乗算する第5の乗算手段と、前記第5の乗算手段の乗算結果を、外部から供給されたスレッショルド値に加算し、その結果を、除算結果として前記遅延手段および前記第1の乗算手段に出力する第3の加算手段とを備え、前記第1から第5の乗算手段、前記第1から第3の加算手段、および、前記エンベロープフォロワ内の減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものであることを特徴とする。
【0007】
請求項3に係る発明は、請求項1または3に記載の音響信号コンプレッサ装置において、前記除算フィルタ手段は、1サンプリング周期で前記除算の演算を複数回行なうことを特徴とする。
【0008】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態を説明する。
【0009】
図1は、この発明の実施の形態に係るディジタルコンプレッサの基本構成を示すブロック図である。このコンプレッサは、エンベロープフォロワ101、変換回路102、除算フィルタ103、および乗算器104を備える。
【0010】
エンベロープフォロワ101は、入力信号のエンベロープレベルを抽出して出力する回路である。変換回路102は、エンベロープフォロワ101で抽出した入力信号のエンベロープのレベルを除数yに変換する。除算フィルタ103は、被除数xと変換回路102からの除数yを入力し、x/yを演算出力する。乗算器104は、除算フィルタ103の出力z=x/yと入力信号inとを乗算する。乗算器104の出力out=in*zが本コンプレッサの出力となる。通常は、乗算器104の後段にレベル調整のアンプがつながるが、ここでは省略してある。
【0011】
乗算器104の乗算結果outは、除算フィルタ103の出力zと入力信号inとを乗算して得ている。除算フィルタ103では、入力信号のエンベロープのレベルが大きいほど出力値z=x/yは小さくなり、入力信号のエンベロープのレベルが小さいほど出力値z=x/yは大きくなる。これにより、入力信号inのレベルに応じた出力信号outのレベル制限を実現することができる。
【0012】
図2は、図1のディジタルコンプレッサの具体的な構成例である。このコンプレッサは、全波整流部201、減算器202、半波整流部203、乗算器204、加算器205、遅延回路206、乗算器207、乗算器208、加算器209、減算器210、遅延回路211、乗算器212、および乗算器224を備えている。各加算器および各乗算器は、オーバフロープロテクト付きのものであり、所定の上限値または下限値をオーバフローしたときには、その上限値または下限値を出力する。付番201から206の部分が、図1の101に相当するエンベロープフォロワ221である。付番208と209の部分が、図1の102に相当する変換回路222である。付番210から212の部分が、図1の103に相当する除算フィルタ223である。乗算器224が、図1の乗算器104に相当する。図2のディジタルコンプレッサは、例えばDSP(ディジタルシグナルプロセッサ)とマイクロプログラムにより構成することができる。
【0013】
エンベロープフォロワ221において、入力信号は全波整流部201に入力する。全波整流部201は、入力信号に対する全波整流、すなわち入力が負のときに正に変換する処理を行なう。全波整流部201の出力は、減算器202に入力する。減算器202は、入力信号から乗算器207の乗算結果を減算して出力する。減算器202の出力は、半波整流部203に入力する。半波整流部203は、入力信号に対し、正の範囲のみを通し負の範囲は出力しない。半波整流部203の出力は、乗算器204に入力し、乗算係数arと乗算される。加算器205は、その乗算結果を入力し、乗算器207の乗算結果と加算する。加算器205の出力は、遅延回路206に入力する。遅延回路206は、入力信号を1サンプリング周期だけ遅延して出力する遅延回路である。遅延回路206の出力は、乗算器207に入力し、乗算係数rrと乗算される。その乗算結果は、減算器202と加算器205に入力する。
【0014】
加算器202、半波整流部203、乗算器204、加算器205、遅延回路206、および乗算器207は、半波整流器とローパスフィルタ(LPF:Low Pass Filter)を兼ねた回路になっている。乗算器204の乗算係数arはアタックレートで、信号の立ち上がりの時間的変化を決定するパラメータである。乗算器207の乗算係数rrはリリースレイトで、信号が下がってくる際の時間的変化を決定するパラメータである。乗算係数arおよびrrを適宜設定することによって、立ち上がりが速く下りてくるのがゆっくりであるローパスフィルタ特性が得られる。加算器205の出力を、エンベロープフォロワ221の出力efとして、次段の変換回路222に入力する。
【0015】
変換回路222では、エンベロープフォロワ221の出力efを乗算器208に入力し乗算係数ratと乗算する。乗算器208の出力は、加算器209に入力し、オフセット値ofsと加算される。乗算係数ratは、コンプレッサのコンプレッションレシオに相当し、コンプレッサのかかり具合を決めるパラメータである。オフセット値ofsは、knee(コンプレッサのかかり具合がハードかソフトか)を決めるパラメータである。加算器209の出力(すなわち、ef*rat+ofs)は、変換回路222の出力yとして、除算フィルタ223の除数端子に入力する。なお、*は乗算を意味するものとする。
【0016】
除算フィルタ223の被除数端子にはスレショルドレベルth(図1の被除数xである)が入力する。スレショルドレベルthは、加算器210に入力する。加算器210の出力は、遅延回路211に入力する。遅延回路211は、入力信号を1サンプリング周期だけ遅延して出力する遅延回路である。遅延回路211の出力は、加算器210および乗算器212に入力する。乗算器212は、遅延回路211の出力に変換回路222からの出力yを乗算し、乗算結果を減算器210に入力する。減算器210は、スレショルドレベルthから乗算器212の乗算結果を減算し、遅延回路211からの出力を加算する。減算器210の出力は、除算フィルタ223の出力として、乗算器224に入力する。
【0017】
除算フィルタ223は、IIR(Infinite Impulse Response)フィルタを構成しており、その伝達関数は、
となる。充分な時間が経過して安定したときの出力は、上記の伝達関数H(z)でz-1=1と置いて、
H(z)=th/(ofs+rat*ef)=x/y
となる。
【0018】
なお、変換回路222と除算フィルタ223は、図3の回路でも代替できる。図3の回路では、伝達関数は、
となる。充分な時間が経過して安定したときの出力は、上記の伝達関数H(z)でz-1=1と置いて、
H(z)=th/(ofs+rat*ef)=x/y
となるので、図2の回路と等価であることが判る。
【0019】
図4〜図8を参照して、図2のコンプレッサの特性について詳しく説明する。図4〜図8において、図2の回路への入力をin、出力をout、除数をy、被除数をx(=th)、除算結果をdとする。充分な時間が経過した状態(時間→∞)を考慮するものとし、そのためエンベロープフォロワ221は全波整流に置き換えて、フィルタの特性を求めるものとする。また、除算フィルタ223のDC応答(z-1→1,時間→∞と等価)でレベルを求めるものとする。入力inは−1≦in≦1の範囲で有意であるものとし、図2の各部での演算もこの範囲で有意とする。この範囲外はオーバフローとする。
【0020】
図4は、コンプレッションレシオrat=1、オフセット値ofs=0とし、スレショルドレベルth=xのみを変化させるときの出力特性を示す図である。図4(a)は、入力inと除数yとの関係を示す。入力inを全波整流して絶対値|in|とし、変換回路222でy=|in|*rat+ofsとするから、変換回路222の出力である除数yは図4(a)に示すようになる。
【0021】
図4(b)は、入力inと除算結果dの関係を示す。除算結果d=x/yであり(x=th)、除数yは図4(a)に示すとおりであるから、除算結果dのグラフは図4(b)のようになる。スレショルドレベルth=xのときの除算結果dのグラフを実線401に示し、スレショルドレベルth=x’(ただし、x’<x)のときの除算結果dのグラフを破線402に示す。入力inの絶対値が小さいほど、図4(a)から判るように除数yが小さくなり、除算結果d=x/yは大きくなる。入力inの絶対値が被除数xより小さいと、除算結果dは1を超えてオーバフローになる。オーバフローのときは、除算結果d=1が出力される。図4(b)のグラフのd=1の平坦部403は、除算結果dがオーバフローした範囲を示す。
【0022】
図4(c)は、入力inと出力outの関係を示す。出力outは、乗算器224で図4(b)の除算結果dに入力inを乗算した結果である。入力inの絶対値が被除数xより小さい範囲ではd=1であるので、出力out=入力inである。したがって、この範囲では傾き1のグラフ411のようになり、出力outは入力inにしたがってリニアに変化する。入力inの絶対値が大きくなってxを超えると、除算結果d=x/yでyは入力inの絶対値と等しいので、出力out=d*in=xまたは−xとなる。図4(c)のout=xおよびout=−xの平坦部412は、この範囲である。出力outは、入力inの絶対値が大きくなっても、所定範囲にレベルが制限され、コンプレッサの動作が実現されている。また、スレショルドレベルth=xを変化させることにより、平坦部412のレベルを変更制御できる。例えば、スレショルドレベルth=x’(ただし、x’<x)としたときは、平坦部は破線のグラフ413に示すようになり、出力outをより狭い範囲にレベル制限することができる。この場合、図4(b)に示した平坦部403の範囲も、−xからxまでの範囲が、より狭い−x’からx’までの範囲となり、これに伴って図4(c)の傾き1のグラフ411の範囲も同様に−x’からx’までの範囲となる。
【0023】
図5は、コンプレッションレシオrat=1−x、オフセット値ofs=xとし、スレショルドレベルthをオフセット値ofsと同じ値にして変化させるときの出力特性を示す図である。コンプレッションレシオratは、この変化に連動させるものとする。図5(a)は、入力inと除数yとの関係を示す。入力inを全波整流して絶対値|in|とし、変換回路222でy=|in|*rat+ofsとするから、変換回路222の出力である除数yは図5(a)に示すようになる。特に、入力in=0のとき、y=ofs=xである。入力|in|=1のとき、y=1−x+x=1である。スレショルドレベルth=xのときの除数yのグラフを実線501に示し、スレショルドレベルth=x’(ただし、x’<x)のときの除数yのグラフを破線502に示す。
【0024】
図5(b)は、入力inと除算結果dの関係を示す。除算結果d=x/yであり(x=th)、除数yは図5(a)に示すとおりであるから、除算結果dのグラフは図5(b)のようになる。特に、入力in=0のとき、y=ofs=xとなるから、d=1である。また、|in|=1のとき、y=|in|*(1−x)+x=1となるから、d=xである。上述のth=xのときの除算結果dのグラフを実線511に示し、th=x’(ただし、x’<x)のときの除算結果dのグラフを破線512に示す。
【0025】
図5(c)は、入力inと出力outの関係を示す。出力outは、乗算器224で図5(b)の除算結果dに入力inを乗算した結果であるから、図5(c)のグラフ521のようになる。入力in=0のとき出力out=0で、入力in=1のとき出力out=xである。出力outは、入力inの絶対値が大きくなっても、所定範囲にレベルが制限され、コンプレッサの動作が実現されている。また、スレショルドレベルth=xを変化させることにより、レベル制限する範囲を変更制御できる。例えば、th=x’(ただし、x’<x)としたときは、出力outは破線のグラフ522に示すようになり、出力outをより狭い範囲にレベル制限することができる。
【0026】
図6は、コンプレッションレシオrat<1−x、オフセット値ofs=xとし、th=ofs=固定値として、コンプレッションレシオratを変化させるときの出力特性を示す図である。図6(a)は、入力inと除数yとの関係を示す。入力inを全波整流して絶対値|in|とし、変換回路222でy=|in|*rat+ofsとするから、変換回路222の出力である除数yは図6(a)に示すようになる。特に、入力in=0のとき、y=ofs=xである。入力|in|=1のとき、y=rat+x<1である。スレショルドレベルth=xのときの除数yのグラフを実線601に示す。
【0027】
図6(b)は、入力inと除算結果dの関係を示す。除算結果d=x/yであり(x=th)、除数yは図6(a)に示すとおりであるから、除算結果dのグラフは図6(b)のグラフ611のようになる。特に、入力in=0のとき、y=ofs=xとなるから、d=1である。また、|in|=1のとき、y=|in|*rat+x=rat+x<1となるから、d>xである。
【0028】
図6(c)は、入力inと出力outの関係を示す。出力outは、乗算器224で図6(b)の除算結果dに入力inを乗算した結果であるから、図6(c)のグラフ621のようになる。入力in=0のとき出力out=0で、入力in=1のとき出力out=d=x/y>xである。出力outは、入力inの絶対値が大きくなっても、所定範囲にレベルが制限され、コンプレッサの動作が実現されている。また、コンプレッションレシオratを変化させることにより、除算結果dのグラフ611や出力outのグラフ621の変化の程度を変更制御でき、これによりコンプレッサのかかり具合を制御できる。例えば、オフセット値ofs=スレッショルドレベルth(=x)を固定値としたままコンプレッションレシオratを最小値(=0)から最大値(=1−x)まで変化させることにより、コンプレッサがかかっていない状態(ゲイン=1で一定)から最大にかかっている状態(図5の実線521)まで連続的に変化させることができる。これが、後に説明するknee=softの場合のパラメータratioに応じたコンプレッサ特性の変化に対応している。
【0029】
図7は、スレショルドレベルth=xを固定値とし、除数yの入力inに対するグラフが(x,x)を通るようにオフセット値ofsを決定して、コンプレッションレシオratを変化させるときの出力特性を示す図である。図7(a)は、入力inと除数yとの関係を示す。(x,x)を通るようにすることから、inとyとの関係式は、inが0から1の範囲でy−x=rat*(in−x)となる。これより、y=rat*(in−x)+x=rat*in+(1−rat)*xであるから、ofs=(1−rat)*xである。特に、rat=1のときは図4の場合と同じであり、図7(a)のグラフ701は図4(a)と、図7(b)のグラフ711(平坦部714も含む)は図4(b)のグラフ401(平坦部403も含む)と、図7(c)のグラフ721および722は図4(c)のグラフ411および412と、それぞれ同じである。
【0030】
図7では他にrat=0.5の場合と0.25の場合を図示した。上記のinとyとの関係式より、これらの場合のyのグラフは図7(a)の702,703に示すようになる。除算結果d=x/yであり、y<xの範囲では除算結果dがオーバフローし、図7(b)の除算結果dのグラフでd=1の平坦部714を形成している。平坦部714の外側では、除算結果dは711,712に示すとおりとなる。
【0031】
図7(c)は、入力inと出力outの関係を示し、図7(b)の除算結果dに入力inを乗算した結果である。図7(b)の平坦部714の範囲、すなわち−xからxまでの範囲では傾き1のグラフ721のようになり、出力outは入力inにしたがってリニアに変化する。その外側の範囲では、ratの値に応じたグラフ723,724のようになる。特に、オーバフローする−xからxまでの範囲は変更することなくリニアな特性とし、−xからxまでの範囲の外側では、コンプレッションレシオratの値を変更することにより、コンプレッションのかかり具合を制御できる。すなわち、コンプレッションレシオrat=0はコンプレッサがかかっていない状態であり、rat=1はコンプレッサが最大にかかっている状態(図7の実線722)である。これが、後に説明するknee=hardの場合のパラメータratioに応じたコンプレッサ特性の変化に対応している。
【0032】
図8は、スレショルドレベルth=xを固定値とし、除数yの入力inに対するグラフが(1,1)を通るようにして、オフセット値ofsを変化させる(すなわち、kneeが可変)ときの出力特性を示す図である。コンプレッションレシオratは、オフセット値ofsに連動して変化させる。図8(a)は、入力inと除数yとの関係を示す。(1,1)を通るようにすることから、inとyとの関係式は、inが0から1の範囲でy=(1−ofs)in+ofsとなる。したがって、rat=1−ofsである。
【0033】
特に、ofs=0のときは図4で説明したのと同様であるから、図8(a)のグラフ801は図4(a)と、図8(b)のグラフ811(平坦部814も含む)は図4(b)のグラフ401(平坦部403も含む)と、図8(c)のグラフ821および822は図4(c)のグラフ411および412と、それぞれ同じである。また、ofs=xの場合は、図5で説明したのと同様であるから、図8(a)のグラフ803は図5(a)のグラフ501と、図8(b)のグラフ813は図5(b)のグラフ511と、図8(c)のグラフ824は図5(c)のグラフ521と、それぞれ同じである。
【0034】
図8では他にofsを0<ofs<xの範囲にとった場合を示した。この場合、入力inと除数yとの関係式は上述の通りであるから、除数yのグラフは図8(a)の802に示すようになる。図8(b)の除算結果d=x/yのグラフでは、除数yが固定値th=xより小さくなる範囲でオーバフローが起こり、この範囲でd=1となる。この範囲は、−(x−ofs)/(1−ofs)から(x−ofs)/(1−ofs)までの範囲である。この範囲の外側では、グラフ812に示すようになる。
【0035】
図8(c)は、入力inと出力outの関係を示し、図8(b)の除算結果dに入力inを乗算した結果である。図8(b)の平坦部の範囲、すなわち−(x−ofs)/(1−ofs)から(x−ofs)/(1−ofs)までの範囲では傾き1のグラフになり、出力outは入力inにしたがってリニアに変化する。その外側の範囲では、グラフ823のようになる。本例では、オフセット値ofsの値を変更することにより、図8(c)のように特性を変更して、コンプレッサが最大にかかっている状態におけるゲイン変化特性(図8(c)のような)の肩のなだらかさを制御することができる。この肩のなだらかさを制御するパラメータは、kneeと呼ばれている。
【0036】
上述の図4〜図8では充分な時間が経過した後のコンプレッサの特性を説明したが、実際には除算フィルタ部分で出力が安定するまでの時間遅れがあり、またエンベロープフォロワ部分でも同様の時間遅れがある。特に、図2(あるいは図3)の除算フィルタでは、LPFの係数に除数yを与えた形で構成しているので、除数yに応じて時定数が変化し、除算結果に達する時間も異なる。除数yが大きいほど時定数は小さくなり、除算結果に至る到達時間も速くなる。また、除数yが小さいほど時定数が大きくなり、除算結果に至る到達時間は遅くなる。したがって、入力信号のエンベロープレベルが大きくなったときにこれを押え込むのは速いが、小さいレベルでの変動にはゆっくり追従する。レベルが1/100程度の変化をしたとき時定数は2.3ms程度(サンプリング周波数が44.1kHzのとき)なので、実用上問題はない。却って、この時間遅れにより、入力が変化したとき少しオーバシュート気味に変化した後に安定した結果に到達するので、従来のコンプレッサでは得ることができない変化が豊かで効果的な楽音を生成できる。
【0037】
なお、図2の各部は、所定のサンプリングクロックに同期して動作しており、1サンプリング周期で1回動作するように構成されているが、除算フィルタ223での処理を1サンプリング周期で複数回行なうことにより応答速度を上げることができる。これは一種のオーバサンプリングで、時定数はその回数分の1となる。
【0038】
以上のようにして、図2のコンプレッサにおいては、上述したような各種のパラメータを設定することによりその特性を制御できる。実際に電子楽器の効果付与装置などに適用した場合は、ユーザが適当な操作子で以下のような値を設定できるようにし、これらの設定値から上述の各種のパラメータ値を決めればよい。例えば、図6のようにth=ofsを固定値としてratを変化させる例であれば、
(1)ratio:1〜∞の範囲
(2)threshold:−48〜−6(dB)の範囲
(3)knee:softまたはhardの別
の3つの値をユーザに設定させ、
(1)knee=softのときは
rat=(1−th)*(ratio−1)/ratio
ofs=th
th=pow(10,threshold/20)
(2)knee=hardのときは
rat=(ratio−1)/ratio
ofs=th*(1−rat)
th=pow(10,threshold/20)
とすればよい。powはdB値をリニア値に変換する関数である。他の図の特性に対しても同様にすればよい。
【0039】
これによりユーザは、ratioを所望の値に設定することでコンプレッサのかかり具合を調整でき、thresholdを所望の値に設定することでコンプレッサのかかるレベルを調整することができる。また、ユーザは、コンプレッサのかかり方について、ソフトかハードかを選択できる。また、図4〜図8の各特性を組み合わせてもよいし、切り替え可能(例えば、モード切り替え手段を設け、第1のモードのときは図4の特性、第2のモードのときは図5の特性、…というようにする)にしてもよい。
【0040】
図9は、本発明のコンプレッサを適用する電子楽器の構成例を示す。この電子楽器は、マイコン901、演奏入力部902、パネル903、各種入出力(I/O)インタフェース904、音源905、エフェクタ906、ディジタルアナログ変換器(DAC)907、およびサウンドシステム908を備える。
【0041】
マイコン901は、この電子楽器全体の動作を制御する処理装置である。演奏入力部902は、ユーザが演奏操作する鍵盤などの操作子である。パネル903は、各種の設定を行なうための操作子や表示部を備えており、例えば上述のratioやthresholdやkneeを設定する操作子を含む。音源905は、マイコン901からの指示に応じてディジタル楽音信号を発生する音源であり、その方式は任意である。例えば、波形メモリ音源、FM音源、あるいは物理モデル音源などでもよいし、外部からの波形入力でもよい。エフェクタ906は、音源905から出力される楽音信号に対して効果を付与するエフェクタであり、本発明に係るコンプレッサを含む。エフェクタ906の出力は、ディジタルアナログ変換器(DAC)907でアナログ楽音信号に変換され、サウンドシステム908により放音される。
【0042】
【発明の効果】
以上説明したように、この発明によれば、除算フィルタを用いて除算演算を行なうようにしているので、テーブルが不要であり、該除算フィルタの構成も非常に単純なもので済むので、簡単な構成で様々な制御が可能なコンプレッサを実現することができる。さらに、除算フィルタにおける時間遅れがあるため、固定的な入出力関係でなく、従来のコンプレッサでは得ることができない変化が豊かで効果的な楽音を生成できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るコンプレッサのブロック図
【図2】実施の形態のコンプレッサの構成例を示す図
【図3】変換回路と除算フィルタの別の構成例を示す図
【図4】実施の形態のコンプレッサの特性の例(その1)を示す図
【図5】実施の形態のコンプレッサの特性の例(その2)を示す図
【図6】実施の形態のコンプレッサの特性の例(その3)を示す図
【図7】実施の形態のコンプレッサの特性の例(その4)を示す図
【図8】実施の形態のコンプレッサの特性の例(その5)を示す図
【図9】本発明の適用例である電子楽器の構成例を示す図
【符号の説明】
101,221……エンベロープフォロワ、102,222……変換回路、103,223……除算フィルタ、104,204,207,208,212,224……乗算器、201……全波整流部、202,210……減算器、203……半波整流部、205,209……加算器、206,211……遅延回路。
Claims (3)
- 入力信号の振幅レベルを検出するエンベロープフォロワと、
該振幅レベルに基づいて除数を決定する変換手段と、
被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する除算フィルタ手段と、
前記入力信号に前記除算結果を乗算することにより、前記入力信号の振幅を制御する第1の乗算手段と
を備え、
前記エンベロープフォロワは、
前記入力信号に対して全波整流を行なう全波整流手段と、
前記全波整流手段の出力から、後記する第2の乗算手段の出力を減算する減算手段と、
前記減算手段の出力に対して半波整流を行なう半波整流手段と、
前記半波整流手段の出力に、外部から供給された乗算係数を乗算する第3の乗算手段と、
前記第3の乗算手段の出力に、後記する第2の乗算手段の出力を加算する第1の加算手段と、
前記第1の加算手段の出力を遅延させて出力する第1の遅延手段と、
前記第1の遅延手段の出力に、外部から供給された乗算係数を乗算し、乗算結果を前記減算手段および前記第1の加算手段に供給する第2の乗算手段と
を備え、
前記変換手段は、
前記エンベロープフォロワの第1の加算手段の出力に、外部から供給された乗算係数を乗算する第4の乗算手段と、
前記第4の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する第2の加算手段と
を備え、
前記除算フィルタ手段は、
入力した信号を遅延させて出力する第2の遅延手段と、
前記除数に前記第2の遅延手段の出力を乗算する第5の乗算手段と、
前記第5の乗算手段の乗算結果を、外部から供給されたスレッショルド値から減算するとともに、前記第2の遅延手段の出力を加算し、その結果を、除算結果として前記遅延手段および前記第1の乗算手段に出力する加減算手段と
を備え、
前記第1から第5の乗算手段、前記第1および第2の加算手段、前記エンベロープフォロワ内の減算手段、並びに、前記除算フィルタ手段内の加減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものであることを特徴とする音響信号コンプレッサ装置。 - 入力信号の振幅レベルを検出するエンベロープフォロワと、
該振幅レベルに基づいて除数を決定する変換手段と、
被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する除算フィルタ手段と、
前記入力信号に前記除算結果を乗算することにより、前記入力信号の振幅を制御する第1の乗算手段と
を備え、
前記エンベロープフォロワは、
前記入力信号に対して全波整流を行なう全波整流手段と、
前記全波整流手段の出力から、後記する第2の乗算手段の出力を減算する減算手段と 、
前記減算手段の出力に対して半波整流を行なう半波整流手段と、
前記半波整流手段の出力に、外部から供給された乗算係数を乗算する第3の乗算手段と、
前記第3の乗算手段の出力に、後記する第2の乗算手段の出力を加算する第1の加算手段と、
前記第1の加算手段の出力を遅延させて出力する第1の遅延手段と、
前記第1の遅延手段の出力に、外部から供給された乗算係数を乗算し、乗算結果を前記減算手段および前記第1の加算手段に供給する第2の乗算手段と
を備え、
前記変換手段は、
前記エンベロープフォロワの第1の加算手段の出力に、外部から供給された乗算係数を乗算する第4の乗算手段と、
前記第4の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する第2の加算手段と
を備え、
前記除算フィルタ手段は、
入力した信号を遅延させて出力する第2の遅延手段と、
前記除数に前記第2の遅延手段の出力を乗算する第5の乗算手段と、
前記第5の乗算手段の乗算結果を、外部から供給されたスレッショルド値に加算し、その結果を、除算結果として前記遅延手段および前記第1の乗算手段に出力する第3の加算手段と
を備え、
前記第1から第5の乗算手段、前記第1から第3の加算手段、および、前記エンベロープフォロワ内の減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものであることを特徴とする音響信号コンプレッサ装置。 - 請求項1または2に記載の音響信号コンプレッサ装置において、
前記除算フィルタ手段は、1サンプリング周期で前記除算の演算を複数回行なうことを特徴とする音響信号コンプレッサ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001373877A JP3687096B2 (ja) | 2001-12-07 | 2001-12-07 | 音響信号コンプレッサ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001373877A JP3687096B2 (ja) | 2001-12-07 | 2001-12-07 | 音響信号コンプレッサ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003173187A JP2003173187A (ja) | 2003-06-20 |
JP3687096B2 true JP3687096B2 (ja) | 2005-08-24 |
Family
ID=19182523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001373877A Expired - Fee Related JP3687096B2 (ja) | 2001-12-07 | 2001-12-07 | 音響信号コンプレッサ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3687096B2 (ja) |
-
2001
- 2001-12-07 JP JP2001373877A patent/JP3687096B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003173187A (ja) | 2003-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3642013B2 (ja) | 非線形歪付加装置 | |
JP3687096B2 (ja) | 音響信号コンプレッサ装置 | |
JPH05160653A (ja) | 自動利得制御装置 | |
JPH09258782A (ja) | デジタル音声処理装置 | |
JP3687097B2 (ja) | 音響信号ディストーション装置 | |
JPH06164277A (ja) | 信号処理装置 | |
JP3274503B2 (ja) | 楽音加工装置 | |
JPH06214571A (ja) | ディストーション回路 | |
JP2001169248A (ja) | デジタル音声レベル可変装置 | |
JPH0761190B2 (ja) | ハウリング防止機能を備えた音響装置 | |
JP2004112414A (ja) | オーディオコンプレッサ | |
JP3123052B2 (ja) | 音響信号コンプレッサ装置 | |
JP4103786B2 (ja) | 音響信号コンプレッサ | |
JP3466546B2 (ja) | 時定数処理回路、時定数処理方法、音声圧縮装置、音声伸長装置、音声圧縮方法、音声伸長方法、および記録媒体 | |
JP2606006B2 (ja) | ノイズ音発生装置 | |
JP3683978B2 (ja) | 飽和信号処理装置 | |
JP2591193B2 (ja) | 非線形関数発生装置およびその非線形関数発生装置を用いた楽音合成装置 | |
JP2611242B2 (ja) | 振幅圧縮伸長回路 | |
JP4354038B2 (ja) | デジタル信号レベル制御装置および制御方法 | |
JPH11237883A (ja) | 効果付加装置 | |
JPH07106883A (ja) | デジタル音量調整装置およびデジタルミキシング装置 | |
JP2959149B2 (ja) | 電子楽器 | |
KR100664017B1 (ko) | 자동 이득 제어 장치 | |
JPH1117474A (ja) | 利得可変装置 | |
JP3339273B2 (ja) | 楽音波形形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050411 |
|
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: 20050516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050529 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080617 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090617 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100617 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100617 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130617 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140617 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |