(57)【特許請求の範囲】
【請求項１】
入力信号に基づく除数を供給する変換手段と、
外部から供給される被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する除算フィルタ手段と、
前記入力信号に前記除算結果を乗算することにより、前記入力信号の振幅を制御する第１の乗算手段と
を備え、
前記変換手段は、
入力信号に対して全波整流を行なう全波整流手段と、
前記全波整流手段の出力に、外部から供給された乗算係数を乗算する第２の乗算手段と、
前記第２の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する加算手段とを備え、
前記除算フィルタ手段は、
入力した信号を遅延させて出力する遅延手段と、
前記除数に前記遅延手段の出力を乗算する第３の乗算手段と、
前記第３の乗算手段の乗算結果を、外部から供給されたスレッショルド値から減算するとともに、前記遅延手段の出力を加算し、その結果を、除算結果として前記遅延手段および前記第１の乗算手段に出力する加減算手段と
を備え、
前記第１、第２、および第３の乗算手段、前記変換手段内の加算手段、並びに、前記除算フィルタ手段内の加減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものである
ことを特徴とする音響信号ディストーション装置。
【請求項２】
入力信号に基づく除数を供給する変換手段と、
外部から供給される被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する除算フィルタ手段と、
前記入力信号に前記除算結果を乗算することにより、前記入力信号の振幅を制御する第１の乗算手段と
を備え、
前記変換手段は、
入力信号に対して全波整流を行なう全波整流手段と、
前記全波整流手段の出力に、外部から供給された乗算係数を乗算する第２の乗算手段と、
前記第２の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する加算手段とを備え、
前記除算フィルタ手段は、
入力した信号を遅延させて出力する遅延手段と、
前記除数に前記遅延手段の出力を乗算する第３の乗算手段と、
前記第３の乗算手段の乗算結果を、外部から供給されたスレッショルド値に加算し、その結果を、除算結果として前記遅延手段および前記第１の乗算手段に出力する加減算手段と
を備え、
前記第１、第２、および第３の乗算手段、前記変換手段内の加算手段、並びに、前記除算フィルタ手段内の加減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものである
ことを特徴とする音響信号ディストーション装置。
【請求項３】
請求項１または２に記載の音響信号ディストーション装置において、
前記除算フィルタ手段は、１サンプリング周期で前記除算の演算を複数回行なうことを特徴とする音響信号ディストーション装置。
【請求項４】
正側処理部、負側処理部、および、前記正側処理部から出力される信号と前記負側処理部から出力される信号とを混合する手段を備え、
前記正側処理部は、
入力信号から正側信号を抽出する正側信号抽出手段と、
抽出した正側信号に基づく除数を供給する正側変換手段と、
外部から供給される被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する正側除算フィルタ手段と、
前記正側信号に前記除算結果を乗算することにより、前記正側信号の振幅を制御した信号を出力する第１−１の乗算手段と
を備え、
前記正側変換手段は、
前記正側信号抽出手段の出力に、外部から供給された乗算係数を乗算する第１−２の乗算手段と、
前記第１−２の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する加算手段とを備え、
前記正側除算フィルタ手段は、
入力した信号を遅延させて出力する遅延手段と、
前記除数に前記遅延手段の出力を乗算する第１−３の乗算手段と、
前記第１−３の乗算手段の乗算結果を、外部から供給されたスレッショルド値から減算するとともに、前記遅延手段の出力を加算し、その結果を、除算結果として前記遅延手段および前記第１−１の乗算手段に出力する加減算手段と
を備え、
前記第１−１、第１−２、および第１−３の乗算手段、前記正側変換手段内の加算手段、並びに、前記正側除算フィルタ手段内の加減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものであり、
前記負側処理部は、
入力信号から負側信号を抽出する負側信号抽出手段と、
抽出した負側信号に基づく除数を供給する負側変換手段と、
外部から供給される被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する負側除算フィルタ手段と、
前記負側信号に前記除算結果を乗算することにより、前記負側信号の振幅を制御した信号を出力する第２−１の乗算手段と
を備え、
前記負側変換手段は、
前記負側信号抽出手段の出力に、外部から供給された乗算係数を乗算する第２−２の乗算手段と、
前記第２−２の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する加算手段とを備え、
前記負側除算フィルタ手段は、
入力した信号を遅延させて出力する遅延手段と、
前記除数に前記遅延手段の出力を乗算する第２−３の乗算手段と、
前記第２−３の乗算手段の乗算結果を、外部から供給されたスレッショルド値から減算するとともに、前記遅延手段の出力を加算し、その結果を、除算結果として前記遅延手段および前記第２−１の乗算手段に出力する加減算手段と
を備え、
前記第２−１、第２−２、および第２−３の乗算手段、前記負側変換手段内の加算手段、並びに、前記負側除算フィルタ手段内の加減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものである
ことを特徴とする音響信号ディストーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声信号や楽音信号などの音響信号を加工して音を歪ませる効果であるディストーション効果を付与するディストーション装置に関する。
【０００２】
【従来の技術】
ディジタル音響信号にディストーション効果を付与するディストーション装置は、オーバフローによるハードクリップや、テーブルや演算によるソフトクリップにより、入力信号の値が一定以上に大きくなっても出力信号の値は所定範囲内に抑えるように変換処理している。
【０００３】
【発明が解決しようとする課題】
上述の従来のディストーション装置で得られるのは、入出力が１対１で対応しているためスタティックな歪みでしかなく、電子楽器などに適用したとき、面白みのない平板な楽音になりがちであった。近年では、楽音に変化が豊かな歪みを与えることにより、効果的な楽音を生成したいという要求がある。
【０００４】
この発明は、上述の従来形における問題点に鑑み、面白みがなく平板な音となりがちであるという従来のディストーション装置の欠点を解消し、構成が簡単で、入出力関係が固定的でないようなディストーション装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、請求項１に係る音響信号ディストーション装置は、入力信号に基づく除数を供給する変換手段と、外部から供給される被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する除算フィルタ手段と、前記入力信号に前記除算結果を乗算することにより、前記入力信号の振幅を制御する第１の乗算手段とを備え、前記変換手段は、入力信号に対して全波整流を行なう全波整流手段と、前記全波整流手段の出力に、外部から供給された乗算係数を乗算する第２の乗算手段と、前記第２の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する加算手段とを備え、前記除算フィルタ手段は、入力した信号を遅延させて出力する遅延手段と、前記除数に前記遅延手段の出力を乗算する第３の乗算手段と、前記第３の乗算手段の乗算結果を、外部から供給されたスレッショルド値から減算するとともに、前記遅延手段の出力を加算し、その結果を、除算結果として前記遅延手段および前記第１の乗算手段に出力する加減算手段とを備え、前記第１、第２、および第３の乗算手段、前記変換手段内の加算手段、並びに、前記除算フィルタ手段内の加減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものであることを特徴とする。
請求項２に係る音響信号ディストーション装置は、入力信号に基づく除数を供給する変換手段と、外部から供給される被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する除算フィルタ手段と、前記入力信号に前記除算結果を乗算することにより、前記入力信号の振幅を制御する第１の乗算手段とを備え、前記変換手段は、入力信号に対して全波整流を行なう全波整流手段と、前記全波整流手段の出力に、外部から供給された乗算係数を乗算する第２の乗算手段と、前記第２の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する加算手段とを備え、前記除算フィルタ手段は、入力した信号を遅延させて出力する遅延手段と、前記除数に前記遅延手段の出力を乗算する第３の乗算手段と、前記第３の乗算手段の乗算結果を、外部から供給されたスレッショルド値に加算し、その結果を、除算結果として前記遅延手段および前記第１の乗算手段に出力する加減算手段とを備え、前記第１、第２、および第３の乗算手段、前記変換手段内の加算手段、並びに、前記除算フィルタ手段内の加減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものであることを特徴とする。
【０００６】
請求項３に係る発明は、請求項１または２に記載の音響信号ディストーション装置において、前記除算フィルタ手段は、１サンプリング周期で前記除算の演算を複数回行なうことを特徴とする。
【０００７】
請求項４に係る音響信号ディストーション装置は、正側処理部、負側処理部、および、前記正側処理部から出力される信号と前記負側処理部から出力される信号とを混合する手段を備え、前記正側処理部は、入力信号から正側信号を抽出する正側信号抽出手段と、抽出した正側信号に基づく除数を供給する正側変換手段と、外部から供給される被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する正側除算フィルタ手段と、前記正側信号に前記除算結果を乗算することにより、前記正側信号の振幅を制御した信号を出力する第１−１の乗算手段とを備え、前記正側変換手段は、前記正側信号抽出手段の出力に、外部から供給された乗算係数を乗算する第１−２の乗算手段と、前記第１−２の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する加算手段とを備え、前記正側除算フィルタ手段は、入力した信号を遅延させて出力する遅延手段と、前記除数に前記遅延手段の出力を乗算する第１−３の乗算手段と、前記第１−３の乗算手段の乗算結果を、外部から供給されたスレッショルド値から減算するとともに、前記遅延手段の出力を加算し、その結果を、除算結果として前記遅延手段および前記第１−１の乗算手段に出力する加減算手段とを備え、前記第１−１、第１−２、および第１−３の乗算手段、前記正側変換手段内の加算手段、並びに、前記正側除算フィルタ手段内の加減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものであり、前記負側処理部は、入力信号から負側信号を抽出する負側信号抽出手段と、抽出した負側信号に基づく除数を供給する負側変換手段と、外部から供給される被除数を入力し、前記被除数を前記除数で除算する演算を行なうとともに、該除算をフィルタ演算で実行する負側除算フィルタ手段と、前記負側信号に前記除算結果を乗算することにより、前記負側信号の振幅を制御した信号を出力する第２−１の乗算手段とを備え、前記負側変換手段は、前記負側信号抽出手段の出力に、外部から供給された乗算係数を乗算する第２−２の乗算手段と、前記第２−２の乗算手段の乗算結果に、外部から供給されたオフセット値を加算し、その加算結果を前記除数として供給する加算手段とを備え、前記負側除算フィルタ手段は、入力した信号を遅延させて出力する遅延手段と、前記除数に前記遅延手段の出力を乗算する第２−３の乗算手段と、前記第２−３の乗算手段の乗算結果を、外部から供給されたスレッショルド値から減算するとともに、前記遅延手段の出力を加算し、その結果を、除算結果として前記遅延手段および前記第２−１の乗算手段に出力する加減算手段とを備え、前記第２−１、第２−２、および第２−３の乗算手段、前記負側変換手段内の加算手段、並びに、前記負側除算フィルタ手段内の加減算手段は、何れも、所定の上限値または下限値をオーバーフローまたはアンダーフローしたときには該上限値または該下限値を出力するものであることを特徴とする。
【０００８】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態を説明する。
【０００９】
図１は、この発明の実施の形態に係るディジタルディストーション装置の基本構成を示すブロック図である。このディストーション装置は、変換回路１０１、除算フィルタ１０２、および乗算器１０３を備える。
【００１０】
変換回路１０１は、入力信号のエンベロープのレベルを除数ｙに変換する。除算フィルタ１０２は、被除数ｘと変換回路１０１からの除数ｙを入力し、ｘ／ｙを演算出力する。乗算器１０３は、除算フィルタ１０２の出力ｚ＝ｘ／ｙと入力信号ｉｎとを乗算する。乗算器１０３の出力ｏｕｔ＝ｉｎ＊ｚが本ディストーション装置の出力となる。通常は、前段にレベルアップ用のアンプやプリフィルタが、後段にレベル調整のアンプ、フィルタ、あるいはスピーカシミュレータなどが挿入されることが多いが、ここでは省略してある。
【００１１】
乗算器１０３の乗算結果ｏｕｔは、除算フィルタ１０２の出力ｚと入力信号ｉｎとを乗算して得ている。除算フィルタ１０２では、入力信号のレベルが大きいほど出力値ｚ＝ｘ／ｙは小さくなり、入力信号のレベルが小さいほど出力値ｚ＝ｘ／ｙは大きくなる。これにより、入力信号ｉｎのレベルに応じた出力信号ｏｕｔのレベル制限を実現することができる。
【００１２】
図２は、図１のディストーション装置の具体的な構成例である。このディストーション装置は、全波整流部２０１、乗算器２０２、加算器２０３、減算器２０４、遅延回路２０５、乗算器２０６、および乗算器２２３を備えている。各加算器および各乗算器は、オーバフロープロテクト付きのものであり、所定の上限値または下限値をオーバフロー（またはアンダーフロー）したときには、その上限値または下限値を出力する。付番２０１から２０３の部分が、図１の１０１に相当する変換回路２２１である。付番２０４から２０６の部分が、図１の１０２に相当する除算フィルタ２２２である。乗算器２２３が、図１の乗算器１０３に相当する。図２のディストーション装置は、例えばＤＳＰ（ディジタルシグナルプロセッサ）とマイクロプログラムにより構成することができる。
【００１３】
変換回路２２１において、入力信号は全波整流部２０１に入力する。全波整流部２０１は、入力信号に対する全波整流、すなわち入力が負のときに正に変換する処理を行なう。全波整流部２０１の出力ａｂｓ（ｉｎ）は、乗算器２０２に入力して乗算係数ｒａｔと乗算され、さらに加算器２０３でオフセット値ｏｆｓと加算される。なお、ａｂｓ（  ）は絶対値を表す。加算器２０３の出力（すなわち、ｏｆｓ＋ｒａｔ＊ａｂｓ（ｉｎ））は、変換回路２２１の出力ｙとして、除算フィルタ２２２の除数端子に入力する。なお、＊は乗算を意味するものとする。
【００１４】
除算フィルタ２２２の被除数端子にはスレショルドレベルｔｈ（図１の被除数ｘである）が入力する。スレショルドレベルｔｈは、減算器２０４に入力する。減算器２０４の出力は、遅延回路２０５に入力する。遅延回路２０５は、入力信号を１サンプリング周期だけ遅延して出力する遅延回路である。遅延回路２０５の出力は、減算器２０４および乗算器２０６に入力する。乗算器２０６は、遅延回路２０５の出力に変換回路２２１からの出力ｙを乗算し、乗算結果を減算器２０４に入力する。減算器２０４は、スレショルドレベルｔｈから乗算器２０６の乗算結果を減算し、遅延回路２０５からの出力を加算する。減算器２０４の出力は、除算フィルタ２２２の出力として、乗算器２２３に入力する。
【００１５】
除算フィルタ２２２は、ＩＩＲ（Infinite  Impulse  Response）フィルタを構成しており、その伝達関数は、
0003687097.tif 000002
となる。充分な時間が経過して安定したときの出力は、上記の伝達関数Ｈ（ｚ）でｚ-1＝１と置いて、
Ｈ（ｚ）＝ｔｈ／（ｏｆｓ＋ｒａｔ＊ａｂｓ（ｉｎ））＝ｘ／ｙ
となる。
【００１６】
なお、変換回路２２１と除算フィルタ２２２は、図３の回路でも代替できる。図３の回路では、伝達関数は、
0003687097.tif 000003
となる。充分な時間が経過して安定したときの出力は、上記の伝達関数Ｈ（ｚ）でｚ-1＝１と置いて、
Ｈ（ｚ）＝ｔｈ／（ｏｆｓ＋ｒａｔ＊ａｂｓ（ｉｎ））＝ｘ／ｙ
となるので、図２の回路と等価であることが判る。
【００１７】
上記のように、入力の絶対値が大きいほど除算フィルタ２２２の除算結果は小さくなり、乗算器２２３の乗算結果（出力）は振幅が制限された飽和波形となる。これにより、入力信号をクリッピングしディストーション効果の付与を実現する。なお、乗算係数ｒａｔは、クリップ部分のスロープを決めるパラメータである。オフセット値ｏｆｓは、クリップ部分の滑らかさを決めるパラメータである。ｔｈはクリップレベルを決めるパラメータである。
【００１８】
図４〜図８を参照して、図２のディストーション装置の特性について詳しく説明する。図４〜図８において、図２の回路への入力をｉｎ、出力をｏｕｔ、除数をｙ、被除数をｘ（＝ｔｈ）、除算結果をｄとする。充分な時間が経過した状態（時間→∞）を考慮してフィルタの特性を求めるものとする。また、除算フィルタ２２２のＤＣ応答（ｚ-1→１，時間→∞と等価）でレベルを求めるものとする。入力ｉｎは−１≦ｉｎ≦１の範囲で有意であるものとし、図２の各部での演算もこの範囲で有意とする。この範囲外はオーバフローとする。
【００１９】
図４は、レシオｒａｔ＝１、オフセット値ｏｆｓ＝０とし、スレショルドレベルｔｈ＝ｘのみを変化させるときの出力特性を示す図である。図４（ａ）は、入力ｉｎと除数ｙとの関係を示す。入力ｉｎを全波整流して絶対値｜ｉｎ｜とし、変換回路２２１でｙ＝｜ｉｎ｜＊ｒａｔ＋ｏｆｓとするから、変換回路２２１の出力である除数ｙは図４（ａ）に示すようになる。
【００２０】
図４（ｂ）は、入力ｉｎと除算結果ｄの関係を示す。除算結果ｄ＝ｘ／ｙであり（ｘ＝ｔｈ）、除数ｙは図４（ａ）に示すとおりであるから、除算結果ｄのグラフは図４（ｂ）のようになる。スレショルドレベルｔｈ＝ｘのときの除算結果ｄのグラフを実線４０１に示し、スレショルドレベルｔｈ＝ｘ’（ただし、ｘ’＜ｘ）のときの除算結果ｄのグラフを破線４０２に示す。入力ｉｎの絶対値が小さいほど、図４（ａ）から判るように除数ｙが小さくなり、除算結果ｄ＝ｘ／ｙは大きくなる。入力ｉｎの絶対値が被除数ｘより小さいと、除算結果ｄは１を超えてオーバフローになる。オーバフローのときは、除算結果ｄ＝１が出力される。図４（ｂ）のグラフのｄ＝１の平坦部４０３は、除算結果ｄがオーバフローした範囲を示す。
【００２１】
図４（ｃ）は、入力ｉｎと出力ｏｕｔの関係を示す。出力ｏｕｔは、乗算器２２３で図４（ｂ）の除算結果ｄに入力ｉｎを乗算した結果である。入力ｉｎの絶対値が被除数ｘより小さい範囲ではｄ＝１であるので、出力ｏｕｔ＝入力ｉｎである。したがって、この範囲では傾き１のグラフ４１１のようになり、出力ｏｕｔは入力ｉｎにしたがってリニアに変化する。入力ｉｎの絶対値が大きくなってｘを超えると、除算結果ｄ＝ｘ／ｙでｙは入力ｉｎの絶対値と等しいので、出力ｏｕｔ＝ｄ＊ｉｎ＝ｘまたは−ｘとなる。図４（ｃ）のｏｕｔ＝ｘおよびｏｕｔ＝−ｘの平坦部４１２は、この範囲である。出力ｏｕｔは、入力ｉｎの絶対値が大きくなっても、所定範囲にレベルが制限され、ディストーションの動作が実現されている。また、スレショルドレベルｔｈ＝ｘを変化させることにより、平坦部４１２のレベルを変更制御できる。例えば、スレショルドレベルｔｈ＝ｘ’（ただし、ｘ’＜ｘ）としたときは、平坦部は破線のグラフ４１３に示すようになり、出力ｏｕｔをより狭い範囲にレベル制限することができる。この場合、図４（ｂ）に示した平坦部４０３の範囲も、−ｘからｘまでの範囲が、より狭い−ｘ’からｘ’までの範囲となり、これに伴って図４（ｃ）の傾き１のグラフ４１１の範囲も同様に−ｘ’からｘ’までの範囲となる。
【００２２】
図５は、レシオｒａｔ＝１−ｘ、オフセット値ｏｆｓ＝ｘとし、スレショルドレベルｔｈをオフセット値ｏｆｓと同じ値にして変化させるときの出力特性を示す図である。レシオｒａｔは、この変化に連動させるものとする。図５（ａ）は、入力ｉｎと除数ｙとの関係を示す。入力ｉｎを全波整流して絶対値｜ｉｎ｜とし、変換回路２２１でｙ＝｜ｉｎ｜＊ｒａｔ＋ｏｆｓとするから、変換回路２２１の出力である除数ｙは図５（ａ）に示すようになる。特に、入力ｉｎ＝０のとき、ｙ＝ｏｆｓ＝ｘである。入力｜ｉｎ｜＝１のとき、ｙ＝１−ｘ＋ｘ＝１である。スレショルドレベルｔｈ＝ｘのときの除数ｙのグラフを実線５０１に示し、スレショルドレベルｔｈ＝ｘ’（ただし、ｘ’＜ｘ）のときの除数ｙのグラフを破線５０２に示す。
【００２３】
図５（ｂ）は、入力ｉｎと除算結果ｄの関係を示す。除算結果ｄ＝ｘ／ｙであり（ｘ＝ｔｈ）、除数ｙは図５（ａ）に示すとおりであるから、除算結果ｄのグラフは図５（ｂ）のようになる。特に、入力ｉｎ＝０のとき、ｙ＝ｏｆｓ＝ｘとなるから、ｄ＝１である。また、｜ｉｎ｜＝１のとき、ｙ＝｜ｉｎ｜＊（１−ｘ）＋ｘ＝１となるから、ｄ＝ｘである。上述のｔｈ＝ｘのときの除算結果ｄのグラフを実線５１１に示し、ｔｈ＝ｘ’（ただし、ｘ’＜ｘ）のときの除算結果ｄのグラフを破線５１２に示す。
【００２４】
図５（ｃ）は、入力ｉｎと出力ｏｕｔの関係を示す。出力ｏｕｔは、乗算器２２３で図５（ｂ）の除算結果ｄに入力ｉｎを乗算した結果であるから、図５（ｃ）のグラフ５２１のようになる。入力ｉｎ＝０のとき出力ｏｕｔ＝０で、入力ｉｎ＝１のとき出力ｏｕｔ＝ｘである。出力ｏｕｔは、入力ｉｎの絶対値が大きくなっても、所定範囲にレベルが制限され、ディストーションの動作が実現されている。また、スレショルドレベルｔｈ＝ｘを変化させることにより、レベル制限する範囲を変更制御できる。例えば、ｔｈ＝ｘ’（ただし、ｘ’＜ｘ）としたときは、出力ｏｕｔは破線のグラフ５２２に示すようになり、出力ｏｕｔをより狭い範囲にレベル制限することができる。
【００２５】
図６は、レシオｒａｔ＜１−ｘ、オフセット値ｏｆｓ＝ｘとし、ｔｈ＝ｏｆｓ＝固定値として、レシオｒａｔを変化させるときの出力特性を示す図である。図６（ａ）は、入力ｉｎと除数ｙとの関係を示す。入力ｉｎを全波整流して絶対値｜ｉｎ｜とし、変換回路２２１でｙ＝｜ｉｎ｜＊ｒａｔ＋ｏｆｓとするから、変換回路２２１の出力である除数ｙは図６（ａ）に示すようになる。特に、入力ｉｎ＝０のとき、ｙ＝ｏｆｓ＝ｘである。入力｜ｉｎ｜＝１のとき、ｙ＝ｒａｔ＋ｘ＜１である。スレショルドレベルｔｈ＝ｘのときの除数ｙのグラフを実線６０１に示す。
【００２６】
図６（ｂ）は、入力ｉｎと除算結果ｄの関係を示す。除算結果ｄ＝ｘ／ｙであり（ｘ＝ｔｈ）、除数ｙは図６（ａ）に示すとおりであるから、除算結果ｄのグラフは図６（ｂ）のグラフ６１１のようになる。特に、入力ｉｎ＝０のとき、ｙ＝ｏｆｓ＝ｘとなるから、ｄ＝１である。また、｜ｉｎ｜＝１のとき、ｙ＝｜ｉｎ｜＊ｒａｔ＋ｘ＝ｒａｔ＋ｘ＜１となるから、ｄ＞ｘである。
【００２７】
図６（ｃ）は、入力ｉｎと出力ｏｕｔの関係を示す。出力ｏｕｔは、乗算器２２３で図６（ｂ）の除算結果ｄに入力ｉｎを乗算した結果であるから、図６（ｃ）のグラフ６２１のようになる。入力ｉｎ＝０のとき出力ｏｕｔ＝０で、入力ｉｎ＝１のとき出力ｏｕｔ＝ｄ＝ｘ／ｙ＞ｘである。出力ｏｕｔは、入力ｉｎの絶対値が大きくなっても、所定範囲にレベルが制限され、ディストーションの動作が実現されている。また、レシオｒａｔを変化させることにより、除算結果ｄのグラフ６１１や出力ｏｕｔのグラフ６２１の変化の程度を変更制御でき、これによりディストーションのかかり具合を制御できる。例えば、オフセット値ｏｆｓ＝スレッショルドレベルｔｈ（＝ｘ）を固定値としたままコンプレッションレシオｒａｔを最小値（＝０）から最大値（＝１−ｘ）まで変化させることにより、コンプレッサがかかっていない状態（ゲイン＝１で一定）から最大にかかっている状態（図５の実線５２１）まで連続的に変化させることができる。これが、後に説明するｋｎｅｅ＝ｓｏｆｔの場合のパラメータｒａｔｉｏに応じたコンプレッサ特性の変化に対応している。
【００２８】
図７は、スレショルドレベルｔｈ＝ｘを固定値とし、除数ｙの入力ｉｎに対するグラフが（ｘ，ｘ）を通るようにオフセット値ｏｆｓを決定して、レシオｒａｔを変化させるときの出力特性を示す図である。図７（ａ）は、入力ｉｎと除数ｙとの関係を示す。（ｘ，ｘ）を通るようにすることから、ｉｎとｙとの関係式は、ｉｎが０から１の範囲でｙ−ｘ＝ｒａｔ＊（ｉｎ−ｘ）となる。これより、ｙ＝ｒａｔ＊（ｉｎ−ｘ）＋ｘ＝ｒａｔ＊ｉｎ＋（１−ｒａｔ）＊ｘであるから、ｏｆｓ＝（１−ｒａｔ）＊ｘである。特に、ｒａｔ＝１のときは図４の場合と同じであり、図７（ａ）のグラフ７０１は図４（ａ）と、図７（ｂ）のグラフ７１１（平坦部７１４も含む）は図４（ｂ）のグラフ４０１（平坦部４０３も含む）と、図７（ｃ）のグラフ７２１および７２２は図４（ｃ）のグラフ４１１および４１２と、それぞれ同じである。
【００２９】
図７では他にｒａｔ＝０．５の場合と０．２５の場合を図示した。上記のｉｎとｙとの関係式より、これらの場合のｙのグラフは図７（ａ）の７０２，７０３に示すようになる。除算結果ｄ＝ｘ／ｙであり、ｙ＜ｘの範囲では除算結果ｄがオーバフローし、図７（ｂ）の除算結果ｄのグラフでｄ＝１の平坦部７１４を形成している。平坦部７１４の外側では、除算結果ｄは７１１，７１２に示すとおりとなる。
【００３０】
図７（ｃ）は、入力ｉｎと出力ｏｕｔの関係を示し、図７（ｂ）の除算結果ｄに入力ｉｎを乗算した結果である。図７（ｂ）の平坦部７１４の範囲、すなわち−ｘからｘまでの範囲では傾き１のグラフ７２１のようになり、出力ｏｕｔは入力ｉｎにしたがってリニアに変化する。その外側の範囲では、ｒａｔの値に応じたグラフ７２３，７２４のようになる。特に、オーバフローする−ｘからｘまでの範囲は変更することなくリニアな特性とし、−ｘからｘまでの範囲の外側では、レシオｒａｔの値を変更することにより、コンプレッションのかかり具合を制御できる。すなわち、コンプレッションレシオｒａｔ＝０はコンプレッサがかかっていない状態であり、ｒａｔ＝１はコンプレッサが最大にかかっている状態（図７の実線７２２）である。これが、後に説明するｋｎｅｅ＝ｈａｒｄの場合のパラメータｒａｔｉｏに応じたコンプレッサ特性の変化に対応している。
【００３１】
図８は、スレショルドレベルｔｈ＝ｘを固定値とし、除数ｙの入力ｉｎに対するグラフが（１，１）を通るようにして、オフセット値ｏｆｓを変化させる（すなわち、ｋｎｅｅが可変）ときの出力特性を示す図である。レシオｒａｔは、オフセット値ｏｆｓに連動して変化させる。図８（ａ）は、入力ｉｎと除数ｙとの関係を示す。（１，１）を通るようにすることから、ｉｎとｙとの関係式は、ｉｎが０から１の範囲でｙ＝（１−ｏｆｓ）ｉｎ＋ｏｆｓとなる。したがって、ｒａｔ＝１−ｏｆｓである。
【００３２】
特に、ｏｆｓ＝０のときは図４で説明したのと同様であるから、図８（ａ）のグラフ８０１は図４（ａ）と、図８（ｂ）のグラフ８１１（平坦部８１４も含む）は図４（ｂ）のグラフ４０１（平坦部４０３も含む）と、図８（ｃ）のグラフ８２１および８２２は図４（ｃ）のグラフ４１１および４１２と、それぞれ同じである。また、ｏｆｓ＝ｘの場合は、図５で説明したのと同様であるから、図８（ａ）のグラフ８０３は図５（ａ）のグラフ５０１と、図８（ｂ）のグラフ８１３は図５（ｂ）のグラフ５１１と、図８（ｃ）のグラフ８２４は図５（ｃ）のグラフ５２１と、それぞれ同じである。
【００３３】
図８では他にｏｆｓを０＜ｏｆｓ＜ｘの範囲にとった場合を示した。この場合、入力ｉｎと除数ｙとの関係式は上述の通りであるから、除数ｙのグラフは図８（ａ）の８０２に示すようになる。図８（ｂ）の除算結果ｄ＝ｘ／ｙのグラフでは、除数ｙが固定値ｔｈ＝ｘより小さくなる範囲でオーバフローが起こり、この範囲でｄ＝１となる。この範囲は、−（ｘ−ｏｆｓ）／（１−ｏｆｓ）から（ｘ−ｏｆｓ）／（１−ｏｆｓ）までの範囲である。この範囲の外側では、グラフ８１２に示すようになる。
【００３４】
図８（ｃ）は、入力ｉｎと出力ｏｕｔの関係を示し、図８（ｂ）の除算結果ｄに入力ｉｎを乗算した結果である。図８（ｂ）の平坦部の範囲、すなわち−（ｘ−ｏｆｓ）／（１−ｏｆｓ）から（ｘ−ｏｆｓ）／（１−ｏｆｓ）までの範囲では傾き１のグラフになり、出力ｏｕｔは入力ｉｎにしたがってリニアに変化する。その外側の範囲では、グラフ８２３のようになる。本例では、オフセット値ｏｆｓの値を変更することにより、図８（ｃ）のように特性を変更して、コンプレッサが最大にかかっている状態におけるゲイン変化特性（図８（ｃ）のような）の肩のなだらかさを制御することができる。この肩のなだらかさを制御するパラメータは、ｋｎｅｅと呼ばれている。
【００３５】
上述の図４〜図８では充分な時間が経過した後のディストーションの特性を説明したが、実際には除算フィルタ部分で出力が安定するまでの時間遅れがある。特に、図２（あるいは図３）の除算フィルタでは、ＬＰＦの係数に除数ｙを与えた形で構成しているので、除数ｙに応じて時定数が変化し、除算結果に達する時間も異なる。除数ｙが大きいほど時定数は小さくなり、除算結果に至る到達時間も速くなる。また、除数ｙが小さいほど時定数が大きくなり、除算結果に至る到達時間は遅くなる。したがって、入力信号のレベルが大きくなったときにこれを押え込むのは速いが、小さいレベルでの変動にはゆっくり追従する。レベルが１／１００程度の変化をしたとき時定数は2.3ms程度（サンプリング周波数が44.1kHzのとき）なので、実用上問題はない。却って、この時間遅れにより、入力が変化したとき少しオーバシュート気味に変化した後に安定した結果に到達するので、従来のディストーション装置では得ることができない変化が豊かで効果的な楽音を生成できる。
【００３６】
なお、図２の各部は、所定のサンプリングクロックに同期して動作しており、１サンプリング周期で１回動作するように構成されているが、除算フィルタ２２３での処理を１サンプリング周期で複数回行なうことにより応答速度を上げることができる。これは一種のオーバサンプリングで、時定数はその回数分の１となる。応答速度を上げれば、本発明のディストーションの特性は変換テーブル等による通常の遅れのないディストーション特性に近づく。この応答速度を１つのパラメータとしてユーザが設定できるようにしてもよい。
【００３７】
以上のようにして、図２のディストーションにおいては、上述したような各種のパラメータを設定することによりその特性を制御できる。実際に電子楽器の効果付与装置などに適用した場合は、ユーザが適当な操作子で以下のような値を設定できるようにし、これらの設定値から上述の各種のパラメータ値を決めればよい。例えば、図６のようにｔｈ＝ｏｆｓを固定値としてｒａｔを変化させる例であれば、
（１）ｒａｔｉｏ：１〜∞の範囲
（２）ｔｈｒｅｓｈｏｌｄ：−４８〜−６（ｄＢ）の範囲
（３）ｋｎｅｅ：ｓｏｆｔまたはｈａｒｄの別
の３つの値をユーザに設定させ、
（１）ｋｎｅｅ＝ｓｏｆｔのときは
ｒａｔ＝（１−ｔｈ）＊（ｒａｔｉｏ−１）／ｒａｔｉｏ
ｏｆｓ＝ｔｈ
ｔｈ＝ｐｏｗ（１０，ｔｈｒｅｓｈｏｌｄ／２０）
（２）ｋｎｅｅ＝ｈａｒｄのときは
ｒａｔ＝（ｒａｔｉｏ−１）／ｒａｔｉｏ
ｏｆｓ＝ｔｈ＊（１−ｒａｔ）
ｔｈ＝ｐｏｗ（１０，ｔｈｒｅｓｈｏｌｄ／２０）
とすればよい。ｐｏｗはｄＢ値をリニア値に変換する関数である。他の図の特性に対しても同様にすればよい。
【００３８】
これによりユーザは、ｒａｔｉｏを所望の値に設定することでディストーションのかかり具合を調整でき、ｔｈｒｅｓｈｏｌｄを所望の値に設定することでディストーションのかかるレベルを調整することができる。また、ユーザは、ディストーションのかかり方について、ソフトかハードかを選択できる。また、図４〜図８の各特性を組み合わせてもよいし、切り替え可能（例えば、モード切り替え手段を設け、第１のモードのときは図４の特性、第２のモードのときは図５の特性、…というようにする）にしてもよい。
【００３９】
図９は、ディストーション装置の具体的な構成例の別の例を示す。このディストーション装置は、反転回路９０１、正側ディストーション回路９１０、負側ディストーション回路９２０、およびミキサ９０２を備えている。正側ディストーション回路９１０は、正側信号抽出回路９１１、変換回路９１２、除算フィルタ９１３、および乗算器９１４を備えている。負側ディストーション回路９２０は、正側信号抽出回路９２１、変換回路９２２、除算フィルタ９２３、および乗算器９２４を備えている。正側ディストーション回路９１０の９１２〜９１４、および負側ディストーション回路９２０の９２２〜９２４は、それぞれ図１で説明したディストーション回路と同じ構成である。
【００４０】
正側信号抽出回路９１１は、入力信号ｉｎの正側部分のみを抽出する（負側は値０とする）。抽出された正側信号に対して、図１で説明したディストーション回路でディストーションを付加する。一方、反転回路９０１で入力信号ｉｎの正負を反転し、反転回路９０１の出力に対して、正側信号抽出回路９２１により正側部分のみを抽出する（負側は値０とする）。これにより、入力信号ｉｎの負側部分のみを抽出し、抽出した負側信号に対して、図１で説明したディストーション回路でディストーションを付加する。ミキサ９０２は、正側ディストーション回路９１０の出力から負側ディストーション回路９２０の出力を減算し、これにより正側と負側の信号をミキシングして出力する。
【００４１】
図１０は、図９のディストーション装置の具体的な構成例である。このディストーション装置は、反転回路１００１、正側ディストーション回路１０１０、負側ディストーション回路１０２０、および減算器１００２を備えている。正側ディストーション回路１０１０は、半波整流部１０１１、乗算器１０１２、加算器１０１３、減算器１０１４、遅延回路１０１５、乗算器１０１６、および乗算器１０１７を備えている。負側ディストーション回路１０２０は、半波整流部１０２１、乗算器１０２２、加算器１０２３、減算器１０２４、遅延回路１０２５、乗算器１０２６、および乗算器１０２７を備えている。各加算器および各乗算器は、オーバフロープロテクト付きのものであり、所定の上限値または下限値をオーバフロー（またはアンダーフロー）したときには、その上限値または下限値を出力する。
【００４２】
反転回路１００１は図９の反転回路９０１に、半波整流部１０１１，１０２１は図９の正側信号抽出回路９１１，９２１に、減算器１００２は図９のミキサ９０２に、それぞれ対応する。また、付番１０１２と１０１３の部分が図９の９１２に相当する変換回路１０３１であり、付番１０２２と１０２３の部分が図９の９２２に相当する変換回路１０４１である。付番１０１４から１０１６の部分が図９の９１３に相当する除算フィルタ１０３２であり、付番１０２４から１０２６の部分が図９の９２３に相当する除算フィルタ１０４２である。乗算器１０１７が図９の乗算器９１４に、乗算器１０２７が図９の乗算器９２４に、それぞれ相当する。図１０のディストーション装置は、例えばＤＳＰ（ディジタルシグナルプロセッサ）とマイクロプログラムにより構成することができる。
【００４３】
図１０の正側ディストーション回路１０１０および負側ディストーション回路１０２０の構成は、図２で説明したディストーション回路とほぼ同じであり、図４から図８で説明したような特性を有する。したがって、図１０の装置では、入力信号の正側と負側に分けて、それぞれ上述したようなディストーション効果を付与する処理を行ない、その後、ミキシングして最終的な出力を生成していることになる。図４から図８で説明したように、図２のディストーション装置では、入力信号のレベルが大きくなったときにこれを押え込むのは速いが、小さいレベルでの変動にはゆっくり追従し、特に入力が変化したとき少しオーバシュート気味に変化した後に安定した結果に到達するような出力が得られる。これにより、例えば図１１（ａ）に示す入力信号に対し、正側は図１１（ｂ）の１１０１に示す位置で、負側は図１１（ｃ）の１１０２に示す位置で、それぞれ追従の遅れがあり、オーバシュート気味の変化が得られる。これにより、従来のディストーション装置では得ることができない変化が豊かで効果的な楽音を生成できる。
【００４４】
図９および図１０のディストーション装置によれば、正（負）側の除算器は、入力が負（正）の場合は時定数が最大となるため、振幅制限の効きが図１および図２の装置より鈍くなる。したがって、より原音のニュアンスを残した歪み具合になる。また、この方法では、正負の特性を異ならせることもできる。そのためには、正側ディストーション回路１０１０と負側ディストーション回路１０２０とで、異なるパラメータを用いればよい。
【００４５】
図１２は、本発明のディストーション装置を適用する電子楽器の構成例を示す。この電子楽器は、マイコン１２０１、演奏入力部１２０２、パネル１２０３、各種入出力（Ｉ／Ｏ）インタフェース１２０４、音源１２０５、エフェクタ１２０６、ディジタルアナログ変換器（ＤＡＣ）１２０７、およびサウンドシステム１２０８を備える。
【００４６】
マイコン１２０１は、この電子楽器全体の動作を制御する処理装置である。演奏入力部１２０２は、ユーザが演奏操作する鍵盤などの操作子である。パネル１２０３は、各種の設定を行なうための操作子や表示部を備えており、例えば上述のｒａｔｉｏやｔｈｒｅｓｈｏｌｄやｋｎｅｅを設定する操作子を含む。音源１２０５は、マイコン１２０１からの指示に応じてディジタル楽音信号を発生する音源であり、その方式は任意である。例えば、波形メモリ音源、ＦＭ音源、あるいは物理モデル音源などでもよいし、外部からの波形入力でもよい。エフェクタ１２０６は、音源１２０５から出力される楽音信号に対して効果を付与するエフェクタであり、本発明に係るディストーション装置を含む。エフェクタ１２０６の出力は、ディジタルアナログ変換器（ＤＡＣ）１２０７でアナログ楽音信号に変換され、サウンドシステム１２０８により放音される。
【００４７】
【発明の効果】
以上説明したように、この発明によれば、除算フィルタを用いて除算演算を行なうようにしているので、テーブルが不要であり、該除算フィルタの構成も非常に単純なもので済むので、簡単な構成で様々な制御が可能なディストーション装置を実現することができる。さらに、除算フィルタにおける時間遅れがあるため、固定的な入出力関係でなく、従来のディストーション装置では得ることができない音色の変化が豊かで効果的な楽音を生成できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るディストーション装置のブロック図
【図２】実施の形態のディストーション装置の構成例を示す図
【図３】変換回路と除算フィルタの別の構成例を示す図
【図４】実施の形態のディストーション装置の特性の例（その１）を示す図
【図５】実施の形態のディストーション装置の特性の例（その２）を示す図
【図６】実施の形態のディストーション装置の特性の例（その３）を示す図
【図７】実施の形態のディストーション装置の特性の例（その４）を示す図
【図８】実施の形態のディストーション装置の特性の例（その５）を示す図
【図９】本発明の別の実施の形態に係るディストーション装置のブロック図
【図１０】図９のディストーション装置の構成例を示す図
【図１１】図１０のディストーション装置の特性を説明するための波形図
【図１２】本発明の適用例である電子楽器の構成例を示す図
【符号の説明】
１０１，２２１……変換回路、１０２，２２２……除算フィルタ、１０３，２０２，２０６，２２３……乗算器、２０１……全波整流部、２０４……減算器、２０３……加算器、２０５……遅延回路。
【図１】
0003687097.tif 000004
【図２】
0003687097.tif 000005
【図３】
0003687097.tif 000006
【図４】
0003687097.tif 000007
【図５】
0003687097.tif 000008
【図６】
0003687097.tif 000009
【図７】
0003687097.tif 000010
【図８】
0003687097.tif 000011
【図９】
0003687097.tif 000012
【図１０】
0003687097.tif 000013
【図１１】
0003687097.tif 000014
【図１２】
0003687097.tif 000015