2017年11月17日金曜日

【Puredata】ノイズゲートの作り方・考え方の備忘録【Noise Gate】

こちらにて作成したノイズゲートの仕組みについて簡単に解説します。
自己流なのであまり細かいところはツッコミ入れないでください。

【ノイズの基本的な処理について】
実際の波形を見ます。
ギターを弾いていない無音部分のはずがサーッというノイズが聞こえる事が多々ありますが、ギターを弾いたときの音がどんどん小さくなると、このサーッというノイズが目立ってきます。

ということで、適度にギターの入力音量にあわせてボリュームを上げ下げすることで強引にノイズ部分も無音にします。
それこそ、ミキサーのボリュームフェーダーを上げ下げするように。


【ギターの減衰の種類について】
ただしギターは奏法により、おおまかに2種類の減衰パターンがあります。

まず、基本的なパターンのロングトーンについて。
ギュイィィィィィィィィィィィン・・・
というパターンのやつです。
これについては緩やかに音量が減衰していくので(下の図ではほぼ直線的に)、
ほぼ音量が小さくなったころにゆっくりボリュームを絞ればOKです。
逆に、いきなりボリュームを絞るとブチッと音が途切れて不自然になります。




さて、ギターには右手でのブリッジミュート・左手で軽く押さえて強制的にミュート、
音を切る奏法があります。
ズンッ や ガッ というやつです。
今回は便宜上これを手ミュートと呼びます。
手ミュートは急激に減衰(下の図ではカーブを描きながら)します。
音もわずかながら余韻で残るのですが、即ボリュームを絞らないとサーッというノイズが目立って格好悪いのです。

ここまででのおさらいで、まず

1:音の立ち上がりを即検出・ボリュームを上げる
2ー1:ロングトーンでの減衰を検出・ボリュームもゆっくり絞る
2ー2:手ミュートでの減衰を検出・ボリュームを高速で絞る

という3つの回路が必要になります。


【音量の測定とボリュームの上げ下げについて】
さて、まずは音の立ち上がりについて。
ここについては出来る限り早く検出する必要があります。
また、できるだけディストーションのような音に対して、
音痩せするようなノイズゲートにはしたくありません。
このため、Bossのような、センド・リターンのあるエフェクターのように、
adc~直下で音量を見て、ディストーションの後ろでボリューム上げ下げするメインの回路を入れました。


【メインの回路について】


ざっくり実際のメインの回路を見ていきます。
上の図でボリュームを上げる・下げる回路に分かれます。
rms変換された音量の下にclip~があります。
これは、

・ボリューム上げる回路については無音~初動のボリュームが上がり始める部分の音量を見れば良い
・ボリューム下げる回路については音量がかなり下がる~無音の部分が分かれば良い

というところで、後ろの回路で数値の処理を簡単にするために適宜調整して入れています。



【2パターンの減衰の処理】

さて、前述したとおり、減衰には2パターンあります。

2ー1:ロングトーンでの減衰を検出・ボリュームもゆっくり絞る
2ー2:手ミュートでの減衰を検出・ボリュームを高速で絞る

この処理には検出も2パターン作らないといけません。
ちなみにclip~ -10 10 が吐き出す数字については、

0~10まではギターの音が聞こえる範囲
-10~0まではギターのわずかな音とノイズが混ざった音
とでも考えてください。

これから2種類のパターンの検出方法を解説します。
が、ここで注意しないといけないのは、
単純に音量が下回ったというだけではこの2パターンは検出・住み分けできない
という点です。


まずはロングトーンから。

ロングトーンについては数値がマイナスになり始めたところから監視を始めて、
(ちょうどlogから== -1000というのが伸びてますが)音量がほぼ消えた付近で検出、
ゆっくりボリュームを絞ります。
これにより自然なロングトーンを維持して、音が終わったらノイズを消します。



次は手ミュートの波形を見ます。
検出したら急いでボリュームを絞る必要があります。
が、音量が下回っただけで検出・処理しようとしてもロングトーンと区別がつかないので
ボリュームを早く絞るか遅く絞るかこれだけではわかりません。
ただ、上の図を見ると「急激に」音量が下がります。
ということは、この減衰するスピード・量が激しいならば(接線の傾きが急になったら)手ミュートと判定できるのでは?と考えた次第です。

と考えたのですが、あまり複雑にしたくなかったので、fexpr~も使わずに考えました。
pipe 2の前後がその処理になります。
すなわち、0秒時点の音量と2ミリ秒経過した時点の音量の差を見て、急激だった場合に手ミュートと判断したわけです。

これによりボリュームをゆっくり絞る・急に絞るという処理用の検出ができました。



【トリガーについて】
ギターは弦が揺れるので物凄く短い周期で音量が上下しながら減衰していきます。
また、ギターをロングトーンで弾いたときに大きなビブラートをかければ、
減衰した音量を少しだけまた音量を上げることができます。

これによる弊害として、ロングトーンの処理が始まったかと思うと
また弾き始めのボリュームを上げる処理が始まったり、
いきなり手ミュートが始まったり、
また、手ミュートとロングトーンの処理を行ったり来たりと、
非常に不自然なボリューム処理が始まります。

これを回避するために、
ボリュームの処理をしている間は、他の処理をしないというロジックが必要になってきます。
そこで、トグルスイッチを設けてこれを把握・管理することにしました。


細かい解説は省きますが、
奏法に合わせて音量の吐き出す値・推移に一定の法則がありましたので、
1つのボリューム回路が動作している間は他の回路は動かさないようにしています。





2017年10月27日金曜日

[Puredata]Champman Preamp MkII






こちらのページで先にリリースしていたFxxderスタイルのプリアンプを
全面的に再構築して作り直しました。

ChampmanPreampMkII_v1.0.zip
新型のクリッピング方法を採用しました。
すなわち、2つの非対称クリッピングをミックスして緩やかなクリッピングを再現します。
現在できる技すべてを投入したプリアンプです。
楽しんでください。

2017年8月24日木曜日

[Puredata]Range Maestro[treble booster]





Range_Maestro_V1.zip

私、Rangemasterのクローンを作った事があるのですが、
大変お気に入りなエフェクターのためPuredata内で使えるようコピーしてみました。

2017年6月27日火曜日

[PPTP]GPIOの電源ノイズ削減のテスト[Raspberry Pi]

こちらでRaspberry Pi 3をGPIOから給電する実験を少ししました。

【前回までのあらすじ】
GPIO給電はUSB給電と違い、パスコン等で電源を綺麗にできるならノイズが減るかも。

さて、前回は幾つかパスコンの容量を変更してテストしましたが、
もう少しいろんなパターンで実験してみます。
※私の環境はRaspberry Piをギターのエフェクターとして使う関係で、
以下の理由でリスニング用途とはチューニングが違います。
参考程度に留めてください。
・サウンドカードは録音機能も使う(ノイズ混入も必然的に多くなります)
・バッファアンプのアナログ回路とRaspberry Piのデジタル機器混在のためノイズも多くなる


実験して思いましたが、すごく選定がシビアです。。


ノイズが多い場合に最初段(ブリッジダイオードのマイナス)にGNDを繋ぐと
ノイズが改善する場合がありました。
が、パスコンの手前に付けるか後に付けるか謎なので実験しました。
結論、パスコンの前に入れたほうがいいです。
  1. パスコン無し、GND接続
  2. パスコン100uFの後にGND接続
  3. パスコン100uFの前にGND接続


前回は大雑把にパスコンの容量を変えて、220uFがノイズ削減に良さそうだったのですが、
もう少し細かく調べてみました。
自分の環境では100uFが良さそうです。
※ここから先の音源は全てパスコンの手前でGND接続して実験しています。
  1. パスコン無し
  2. 220uF
  3. 100uF
  4. 47uF


先ほどの実験で100uFが良さそうですが、パスコンを並列にして合成容量にした場合のテストです。
これについては失敗。
220uFでも少し効果が見られたので、100uF x2個のほうが良さそうです。
  1. パスコン無し
  2. 100uF
  3. 47uF x2個


というわけで、100uFを複数、並列で付けた場合のノイズの増減を調べました。
220uFもノイズ削減効果が見られたので、案の定、100uF1~2個でノイズが減ります。
  1. 100uF
  2. 100uF x2個
  3. 100uF x3個
  4. 100uF x4個



パスコンは複数の別の容量を組み合わせて使う場合もあるようで、
100uFに他の容量を追加して実験しました。
が、う~ん、やたらめったら足してもダメなようです。難しい。
  1. 100uF
  2. 100uF + 10uF
  3. 100uF + 1uF
  4. 100uF + 0.1uF
  5. 100uF + 0.01uF















2017年6月22日木曜日

[PPTP]バッファの電源ノイズ削減のテスト

一回、回路の全体図をまとめたほうがいいような気がしてますが、
(実はブツッブツッと鳴る明らかに使用に堪えないマズいノイズが乗った際に、
各箇所のGNDを、電源の最上段のGNDにまとめて繋いでいるのです。。)
こちらの冒頭にてRaspberry Piのノイズ削減テストを実施しました。

【前回までのあらすじ】
積極的にパスコン等の対策で綺麗な電源を用意できるならばGPIOからの給電も良し。
でもパスコンの容量次第では心なしか原音も音が変わってる・・・?
とりあえずやたらに大きな容量のパスコンを入れても効果ない場合がある事は分かった気がする。


なんというド素人の実験!


・・・話は元に戻るのですが、あちこちでノイズが発生したら電源の最上段のGNDにまとめて繋いでいるので、
グラウンドループで酷くなっている?のか、スター型GNDでむしろノイズ減った?のか
よく分からない状態になっています。


インプット・アウトプットのバッファ回路も同じ状況で、
最上段のGNDに繋ぐとブツッブツッのノイズが消えているのでそのままにしてます。
・・・バッファの電源って絶縁型DDコンを使ってるのですが、
一次側のGNDに繋いでる今ではあんまり効果ないんでは?と思いました。
という事で、この部分の電源周りを触ってみました。

結果からいうともうDDコン、若干良いですが、でも劇的に変わらなかった。
なおGPIO給電は引き続き実施しています。


Buffers_PowerSupply(CleanTests).flac
ギターの腕前はご容赦ください。。
どちらかというと弾いてない時とのノイズの比較・参考程度に考えてください。
収録内容は、、

  1. DDコン有り→2200uFパスコン(これ、パスコンの使い方を知らなかったバカな時代のなごり)
  2. DDコン無し、パスコン無しの直でバッファに給電
  3. DDコン無し、1uFパスコンで給電
  4. DDコン無し、220uFパスコンで給電
  5. DDコン無し、470uFパスコンで給電
  6. DDコン無し、2200uFパスコンで給電
DDコンの有無で一番よく分かるのがブーンというノイズです。
でもこの手のノイズ、こっちで付けた秋月のキットのほうが除去は得意かもしれない。
入手して実験してみたいところです。
→購入して使ってみました!



さて、購入してバッファの電源をDDコンと以下の秋月のキットと比べてみました。
解消するといいなぁ、、

TPS7A4700使用 超ローノイズ・プログラマブル可変電源キット
結論からいうと、秋月のキットではブーンというノイズは消えませんが、
別対策でブーンのノイズは消えました。

[ver2]Buffers_PowerSupply(CleanTests).flac

  1. バッファにDDコンのみ(ブーンのノイズは小さい)
  2. DDコン外して12Vをバッファに直で給電(ブーン)
  3. 先ほどの構成に220uFのパスコンを挟む(変わらずブーン)
  4. DDコン外してキットで9Vに降圧してバッファに給電(変わらずブーン。でもホワイトノイズ減ってる・・・?)
  5. DDコン&キット(ブーン変わらず)
  6. MICROEサウンドカード(WM8731)の給電にも実は使っている、キットの入力側のGNDをブリッジダイオード初段のGNDに直で繋ぐ
さて、解説致しますと、1に比べて2~5はずっとブーンのノイズは減りません。
ただ、心なしかバックグラウンドのホワイトノイズは減っているような、、、

そこで最後、ダメ元で6の構成にしたところ、ブーンのノイズがかなり消えました。
GNDの取り方、侮りがたし。。
そして、買ったキットもブーンのノイズには効果がありませんが、ノイズフロアを少し下げたような印象です(もともとリップルフィルタ用途で売ってる)。
電池給電したくないけど消費電力1A以内でノイズ対策したい場合によさげです。
※このキットも2次側にはパスコン10uFを5発並列で付けています。
パスコン入れるときはスペースが許せば同じ容量を複数入れたほうがいいのかもしれません。


2017年6月12日月曜日

[Puredata]Pi The Effectors Set[Guitar]


今まで単発でサブパッチ形式でPuredataのエフェクターを公開していましたが、
すぐ使えるようにマルチエフェクター的な結線済み、
Puredataのインストールとオーディオインターフェースの設定さえしておけば
起動だけですぐ使えるようにエフェクターセットを組みました。
Windowsだとレイテンシーで苦しいかと思いますが、
雰囲気だけでもお楽しみください。


ノイズゲート
ブースター・歪みペダル4種
プリアンプ
キャビネットシミュレーター
がセットになっています。

※盛大な凡ミスしてました。すみません!
adcの右チャンネルが繋がってなかったので修正しました。
これですぐ音が出ます。


[Puredata]Pi The Preamp

今までリリースしたプリアンプをプログラム切り替え的な機能を盛り込み、
複数のプリアンプを切り替えて使えるよう改良しました。

既に公開済みの5種では少ないので、
Puredata with Pi The Pedalのデモで使った試作機のプリアンプも追加しました。
明らかに初期のものは最近のものと違い、出来が悪いです!

【Puredata】ノイズゲートの作り方・考え方の備忘録【Noise Gate】

こちら にて作成したノイズゲートの仕組みについて簡単に解説します。 自己流なのであまり細かいところはツッコミ入れないでください。 【ノイズの基本的な処理について】 実際の波形を見ます。 ギターを弾いていない無音部分のはずがサーッというノイズが聞こえる事が多々あります...