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のデモで使った試作機のプリアンプも追加しました。
明らかに初期のものは最近のものと違い、出来が悪いです!

2017年6月8日木曜日

[Puredata]Uber Delay




日本語マニュアルの動画はこちら。

変なフォントの字幕は動画編集ソフトのせいです、すみません。怪しさ爆発。

[Puredata]Guitar Synth[試作品]

極めて初期に作った私的なPuredataパッチなので使い勝手などが洗練されていません。
でも何かのアイデアになればと思います。
GuitarSynth v2.zip
どちらかというとオルガン風サウンドを出すのに適しています。
もしうまく動かないときは
全てのスライダーを一度動かす(初期設定が未実装)。
パラメータのTriggerもしくはオーディオインターフェースの入力トリムを好感度にする。
を実行してください。

ギター以外にも発音の速い楽器(例えばピアノやAttack Timeの速いシンセサイザー等)ならTriggerの調整で同様に使えると思います。

2017年6月2日金曜日

[Puredata]PPTPサウンドサンプル 5[Tribass & V8custom]

V8andTriBassV2.flac
ミックスすこしだけ手直ししました。
すこしだけね!

V8andTriBassV1.flac
※素人レベルのミキシングで困ったら
EQ使わずに音量だけ合わせたほうがマシという常套手段を忘れてました。
凄まじいピーキーなミキシングしております。
本当はもっとギターは中音域出てます、、


FLACだからおうちでダウンロードしてね!
まだ作りかけのメモ程度なのですが!

ウチの現時点で一番頭悪そうな極悪な歪み方をするV8custom Preamp

サ○ズのベードラをコピーしようとしたら別物の何かになったTriBass Preamp
で録音しました。
ほとんどEQ掛けてないです。
ラインでオーディオインターフェースに突っ込んだら大体この音はすぐ出ます。

作っていて気づきましたが途中DAWでノイズゲート掛けたら
ベースの音が変な途切れ方してしまって録音し直しな予感。
そこに追い打ちをかけるが如くRaspbianのPuredataが起動しなくなって録音自体が頓挫しております。
Lead弾くどころの状態ではない。

・・・もうとりあえずアップしちゃえよ!

例によってウチのPuredataパッチは
大手メーカーの追加アップデートの如く太っ腹のフリーで使用できます!
ただし、Puredata鳴らすハードは自分で用意してください(最難関)

2017年5月25日木曜日

[PPTP]MICROE-506サウンドカードを使うテスト その2[WM8731]

【新型Fix】
いろいろアドバイス頂きまして、以下の構成でバッファを作成しました。
ただし、条件付き。
図に書いてあるRaspberry Pi向けのGND接続は、
もっと最上段に接続したほうがいいです(Pi The Headの構成だとRaspberry Piよりもはるか上位、ACアダプター直下のブリッジダイオードのマイナス側)
GND繋ぐ箇所によってブチブチ鳴るノイズが激減します。

とはいえノイズ出ますね。。
→新たに実験したので更新しました。
raspberry pi 3はUSB給電は止めてGPIOから直接5V送り込んで給電します。
具体的には、5Vを4ピン、GNDを6ピンに繋ぎます(逆接に気を付けてください)
更に、給電直前にデカップリングコンデンサを各種容量を変えてフィルタ掛けてます。
効果は良いか悪いかの好みがありますが、あります。
サンプル音源は以下の通り。
いずれもキャビネットシミュレータ掛けてますが
クリーン(ノイズゲート無し)
クリーン(ノイズゲート有り)
ハイゲイン(ノイズゲート無し)
で録音しました。
ハイゲインについては、フィルタの掛かる周波数をよく体感できるため収録しています。
また、いずれもクリーンとハイゲインは個別にノーマライズ掛けているので、
波形編集ソフト等で弾いてない部分のノイズ波形の大きさを見てみたほうが違いが分かります。
クリーン(ノイズゲート有り)でまだノイズがあるので、
原因っぽいバッファあたりの電源も見直ししてみようかと思います。
※ハイゲインでパコン!というノイズが入りますが原因不明で探っています。
この点についてはご容赦ください。
GPIO_power_supply(no cap).flac
これについては先日アップロードしたUSB給電の音源と同じです。
が、デカップリングコンデンサ無しでGPIO給電するのと大してノイズは変わりません。

GPIO_power_supply(101~105).flac

セラミックコンデンサ101~105までを並列(なので合成容量か、、ほぼ1.1uFやんw)
でフィルタ入れました。
容量小さい割には意外と効果ある。
が、USB給電のほうがブチブチのノイズが少ない。

GPIO_power_supply(101~105_pulus440u).flac
先ほどの合成容量にプラスして440uFの電解コンデンサを追加しました。

GPIO_power_supply(2200uOnly).flac
こちらは思い切って2200uFの電解コンデンサ1発をフィルタに使いました。

できるだけ同じ条件でパスコン替えても実験やってみました。
クリーントーンなのでボリューム上げないと
バックグラウンドのノイズは分かりづらいです。
なお、このパスコンの最終段のGNDをブリッジダイオードのマイナスに繋ぐと
うっすら掛かっていたブツブツのノイズが消えました。
とりあえず困ったら大元のGNDに全部繋いでるな(苦笑)
GPIO_PowerSupply(CleanTests).flac

  1. GPIO直、前述のGNDの対策も無し
  2. GPIO直、GND対策済。パスコン無し
  3. GPIO直、GND対策済。パスコン1uF
  4. GPIO直、GND対策済。パスコン220uF
  5. GPIO直、GND対策済。パスコン440uF
  6. GPIO直、GND対策済。パスコン2200uF

ダメだ、クリーンだと大して違いが分からん、
もしかしたらraspberry pi側は限界までノイズを取り切っていて、
バッファあたりの電源が汚いのかもしれないし、、






【以下、旧回路の古い情報】
こちらでプリアンプ側の作成を行い、大体調子よくなってきたので
WM8731のヘッドフォンアウト側からギターアンプに送るまでのオペアンプを付けました。
まだ試作品です。

【新型試作品。前段のHPFの定数を変更】
前段のハイパスフィルタをもう少し一般的なヘッドフォンアンプの定数に近づけました。
220μF→10μF
100Ω→10kF
今回、以下に置いてある音声サンプルでノイズが「大きく」軽減しているのは、
drugscore様よりアドバイス頂いて、オーディオ設定を全開で運用する方法を採用したからのような気がします。
全てZOOM U-22のギターインプットへ直で録音しています。

10u10k.flac
adc~
|
dac~
のパッチ構成で録音。


10u10kV8.flac
自分の作成したパッチで一番ハイゲインなパッチを使いました。
V8customPreamp
|
CabinetEQ
|
CabinetAir
|
NoiseGate

0:00 エフェクトOFF
0:13 V8custom On(Rythm mode)
0:38 V8custom On(Lead mode)
0:42 CabinetEQ Presense Half UP
1:13 NoiseGate On

今後はU-22の入力トリムが3~4程度と結構低い状態に設定してもクリップしそうな勢いなので、
最後段に2連ボリューム入れるか帰還の抵抗を少し小さくするかするといい感じになりそうです。


【旧型。前段のHPFがピーキーなパターン】

DCoutput_test.flac
全体的にバックグラウンドノイズが乗っています。
→よくよく考えるとノイズはオーディオ設定側の出力を全開にしたほうが
ノイズを小さくできます。

サンプルではバイパス音とV8customPreampを鳴らしているのでそれなりにノイズがのるのですが、
全般的に聞こえるチリチリしたノイズの原因はプローブで追う限り、
前段のBIAS直後で加わっているようなので、電源周りの問題かも。
ただ、オペアンプの電源を電池に変えても変化がないので悩ましい。。

2017年5月20日土曜日

[PPTP]MICROE-506サウンドカードを使うテスト その1[WM8731]

drugscore様に紹介して頂いたサウンドカードMICROE-506なのですが、
RaspbianにWM8731のドライバがありソフトウェア的な導入が楽、かつレイテンシーもかなり速いのです。

が、そんなに甘くなかった!
毎度の事ながら電源周りの原因と思われますがノイズに悩む事になります。
ここの記事ではその実験結果と打開方法を模索するページです。

【ここまでのまとめ構成】

電源は結局USBでPi、GPIOでWM8731へ供給にしました。
これで電源供給が安定しました(他の方法は起動が不安定になる場合あり)。
うすーくドドドドとノイズ乗りますが、ギターの弦触るとノイズが落ちるので、
まぁ現状はいいかなと妥協しました。
どうしても気になるなら図の場所にパスコンかフェライトコア入れようかと思います。

また、プリアンプの抵抗を小さくしました。
手元にパーツが無いのですが、ピックアップの出力が大きいベース等に
汎用的に使えるようにするなら2連ボリュームを入れたほうがいいです(後述)。

市販品のノイズと比べるために
ZOOM U-22にギター直で録音したものと、
WM8731で録音したもの(既に増幅率を小さくしている)を比べてみたのですが
発見したことがあります。
前半はU-22の綺麗なハムバッカーのサウンド。
一方後半のWM8731は図の通りクリップ・歪んでいます。
調べてみるとWM8731のライン入力で音が歪んでいる模様。
意外と歪んでいました。
オーディオ設定で入力をツマミの半分にすればほぼ音割れしませんが、
ピックアップの出力ごとにオーディオ設定弄るのも煩雑なので
一般的なオーディオインターフェースに習い、WM8731のライン入力の手前に
2連ボリューム入れたいところです。

これでプリアンプ側はだいたいFIXかなと思います。
後はアンプ出力側の回路か。。




以下、まとめまでの実験内容
*************************************************************
【パターン1:とりあえず最小構成でサウンドカードを繋ぐ】
図の通り、サウンドカードをそのままRaspberry Piに接続します。
ラインインを使用しましたがノイズが小さい!オーディオクオリティ!
が、ギターを繋ぐにはマイク端子なりラインインなり、それなりにプリアンプが要るのですよ。。



【パターン2:電池供給のプリアンプ】
こんな感じでデュアルオペアンプをステレオで使いました。
オペアンプなんかLM386をスモーキーアンプ回路でしか使ったことないので
ずいぶん苦労しましたが、いかにもテンプレ的な回路で鳴りました。
増幅しすぎてちょっとだけ歪んでますが、おいおい改良しよう。。
なお、プリアンプ自体は元気のあるサウンドですよ!

図に書いてあるGNDを結線しない場合、相当ノイズが乗ります。
結線した場合、改善されます。どこか浮いてたGNDが繋がっていい感じになったんだろうか?
ただ、この状態でも少しだけサーッとノイズが乗ります。
Puredataを
adc~
|
dac~
直結させたパッチで若干ノイズが乗っているので改善したほうがよさそうです。



【パターン3:プリアンプの電源を主電源から取る】
さて、このパターンでハマりました。
凄まじいノイズが乗ります!

こちらの藤本先生のページはeVY1シールドの場合ですが、
ほぼこの動画と同種のドドドドドドドというノイズが、動画より酷い爆音で鳴ります。
ページの解説と私の書いた図を眺めてみますと、
GNDが直接繋がって輪っかを描いている訳ではないのですが、
プリアンプ→降圧キット→Raspberry Pi→サウンドカード→プリアンプ
で確かに輪っかを描いています。
これ、絶縁型DC/DCコンバータでもどうにもなりません。
→パターン4で解決しました。


【パターン4:プリアンプの電源を主電源から取る(GND接続)】

drugscore様より助言頂きまして、プリアンプのGNDが浮いているので
Raspberry Pi側のGNDに繋ぎました。
見事にドドドドのノイズが消えました!
USB5V_GND.wav
前半がGNDを繋いだ状態のサウンド、後半がGNDが浮いたドドドドのノイズです。
改善して良かった。。
ちなみに原因はわからなかったのですが、このドドドドのノイズ、
Piに給電するUSBケーブルによっても出るときと出ない時があります。
ただ、いずれにしてもGNDが浮くとサーッとノイズは多くなるので繋いだほうがいいです。


【パターン5:Piの給電をGPIO直にする】
GPIO_5V.wav
一部で行われているPiの給電をUSBからではなく、
GPIOの
Pin4・・・5V
Pin6・・・GND
より給電する方法を使いました。
・・・あまり変わらない?
もしくは微かにドドドドのノイズが出ています。
→簡易的な対処方法でフェライトコアをプリアンプの電源の直後
(図だと12V DDコンの直後)に入れるとドドドドのノイズが消えました。
ただし、全体的に聞こえるサーッというノイズは消えません。



【パターン6:Piの給電をGPIO直にする(パスコン追加)】
パターン5の降圧キット~PiのGPIO間の5V・GNDに並列に
0.1μFと220μFのパスコンを入れました。
結論、ほぼ効果無し。
USB_GPIO_GPIOpascon.wav
前半・・・降圧キット→USB給電(Pi内部にレギュレータあり)
中盤・・・降圧キット→GPIO直(Pi内部のレギュレータをショートカット)
後半・・・降圧キット→パスコン→GPIO直(Pi内部のレギュレータをショートカット) 
です。この2200μFパスコン→降圧キット自体、
粗悪なUSB電源アダプターよりはノイズ対策の効果がありますが
降圧キット以降は大して変化はありません。

※以下、今後試してみようと思う事。
・降圧キットから直で取っているので大きな容量のパスコンを入れる。
・プリアンプの増幅前後にフィルタを入れてみる。





*********************************************************
【番外編1:サウンドカードの電源を主電源から直で取る】
よく見るとDC/DCコンバータで3.3Vにして供給ですが。
この状態、サウンドカードはRaspbianで認識するのですが音が鳴りません。
正確には、サウンドカードまでは音が来て鳴るのですが、
Raspberry Piには音が来ていない状態のようです。
オーディオのプロパティにある
Output Mixer Line Bypassをオンにするとヘッドホン端子から音が聞こえるのですが、
Puredataで音がエフェクト加工できていないあたり、
Output Mixer Line Bypassはラインインの音をそのままヘッドホンにダイレクトモニタリング的に返す機能の模様です。
という事で、MICROEのサウンドカードでは今のところ
電源をRaspberry Piから取るしか手段はなさそうです。
でも他のWM8731使ったサウンドカードなら上手くいくのかもしれない。う~ん。。

※サウンドカードのGNDをPiに直結しましたが、やっぱり鳴らず。そんなに甘くなかった。



【番外編2:プリアンプの電源をPiから取る】
昇圧パーツが絶縁型DC/DCコンバータしか手持ちになかったので上記のようになっています。
効果は目に見えてあり、グラウンドループのドドドドのノイズは無くなりました!
ただし、ドドドドに比べればまだマシですが、
かなり大きなザーッというノイズは残ります。
これについては絶縁型DDコンはGNDが分離されているようなのですが、
DDコンの前後のGNDを繋いだほうが若干ノイズが和らぎます。

これはギターについての話で、実は上記構成でスマホのヘッドホン端子から繋ぐと
実用に耐えるノイズの少なさになります。
・・・ということはプリアンプがダメなのか?
ちょっとプリアンプを見直してみます。
→オペアンプの100kΩを22kΩに変更で入力レベルで音が歪むのを若干和らげます。
もっと小さい抵抗でもいいかも。

前述のザーッというノイズですがPuredataの簡易VUメーターでー50db程度なので
全く使えない訳ではない?ノイズゲート入れればもちろん気にはなりませんが、
やっぱりハイゲインで歪ませると気になりますか。。




2017年5月18日木曜日

[PPTP]Puredata with Pi The Expression Pedalの青写真


以下、妄想ですが、一つの可能性として記事にしました。
コンセプトは既にディスコンですがDigitech EX-7です。





Guitar-Extended様のArduino-based pedal ([pduino])って素晴らしいなと思います。
この動画は2012年で、外部のPC?のPuredataで音の操作をしてるみたいです。

その後Raspberry Pi Zeroが出た訳で、
PCも内蔵したワウペダル的なPPTPが作れるのではないかと考えた訳です。
こちらでVOXワウの中身のスペースを確認しながら、
既存のワウのケースやパーツを流用できるのか、どうしたもんかなと考えてます。

最低限ねじこむものは
・Raspberry Pi Zero w(フリスクサイズ)
・Arduino Microあたり
・Microe proteサウンドカード(プリアンプ回路付き)
・電源モジュール(これが一番やっかい)
・各種手動設定用の可変抵抗(3~4個)

設定の関係上、Wi-Fiは欲しいですが機能限定すればLCDも要らないでしょう。。
ケース自作の場合は最大の難関は可変抵抗の可動部だろうな。。

[機材]VOX Wah-Wah V847

中古で買った小汚いワウペダルを持っています。
ほとんど使っていませんが、久しぶりに火を入れたら使えました。
今回記事に取り上げたのは、この個体を使うかどうかは別として、
Puredata with Pi The Pedalに使えないかということで中身を調査しました。

以下、写真とPPTPで使えるかどうかの感想。







 ワウ上部が一番背が高いので基板を詰められそうなのですが、
可変抵抗があるので難しい。

 ジャックは流用できそうです。
 基板等を入れるにはこのスペースになりますが、
都合、
・Raspberry Pi Zero w(フリスクサイズ)
・Arduino Microあたり
・Microe proteサウンドカード
・電源モジュール(これが一番やっかい)
・各種手動設定用の可変抵抗
をねじ込みます、、、結構キッツいな、、


可変抵抗は取り換え難しそうな構造。

スイッチも流用できそうです。



2017年5月16日火曜日

[機材]KORG SUPER MULTI FX 411FX

KORGがこの辺をTONEWORKSで出していた時代が好きです。

このあたりの時代のものは他に
Distortion 104ds
初代PANDORA PX1T
を所有していました。
特に初代PANDORAのVALVEの音が好きで、
フットペダルで同じ音が出せないかなと思っていた時に
兄弟がこれを所有していたので貰ってきました。
ん~でも同じ音色が無いのでちょっと違う。

サイズの小さいマルチエフェクターというのがセールスポイント。
また、当時のデジタルエフェクターの中ではKORG、結構頑張っていて、
当時のデジタル臭と独特のザラついたクセはあるのですが、
なかなかハイゲインが使えるという一品でした。

[機材]Roland Analog Echo DC-20

いきなり骨董品の紹介です。
写真の通り状態が悪い。。
部室の大掃除の時に危うく廃棄される運命だったエフェクターが何台かありまして、
パクッて回収してきたもののひとつです。
長らく倉庫の奥に眠っていたので動くかどうか怪しかったのですが、
案の定、電源スイッチが取れかけており電源上がらず。
しかし諦めきれなかったので強引にスイッチを使えるようにすると鳴りました!
また、電源はよく見ると100VでACアダプタ的なものは無く、電源コードが直接筐体から生えています。

さて、肝心のサウンドというと、
最近のデジタルディレイのなんちゃってアナログ風のサウンドと違い、
結構エグく高音域が削れて籠った音がディレイ音で還ってきます。
また、意外とディレイ時間が長く設定でき、設定を追い込むと大変スペーシーなサウンドがします。
ただし、コンディションの問題なのか歪みのエフェクター経由でギターを繋いだのが問題なのか、
バックグラウンドでやたらサーッというノイズが多いのでセッティングを見直したほうがいいのかもしれない。

2017年5月13日土曜日

[機材]Boss Mega Distortion MD-2

今回Modでも何でもないのですが、
Boss Mega Distortion MD-2の紹介です。

DistとGain Boostがついてます。
もちろん両方上げていくとハイゲインになるのですが、
自分で昔使っていたころはDistもしくはGain Boostどちらかフルテンにして片方はゼロにして使っていました。
実はこれだけでもなかなか適度に元気なサウンドが出まして、
今回記事にする際に回路図を見てみると

前段・・・トランジスタでGain Boost
後段・・・オペアンプでDist

となっているようです。
オペアンプonlyもしくはトランジスタonlyな歪みを自分は気づかず使っていたのかもしれない。


ちなみにトーンはBottomを低めにしてジャリジャリッとした音にして使っていました。
なお、ハイゲイン設定にすると普通低音がスポイルしがちなベースの低音もBottomでガッツを与えられるディストーションです(Boss公式で聴けます)

という感じで、
実はギターについてはカラッとした歪み~ハイゲインもカバーしつつ
ベースに至ってはリーサルウエポン的な歪みを提供するという
器用なエフェクター、という再評価の一品です。

[Puredata]ADDAcontrol[入力レベル微調整]

Adjust adc~改め、adc~とdac~で個人的に使う機能と統合したパッチを作成しました。
作るのは面倒だけど、個人的に毎回必要な機能を備えています。

ADDAcontrol_v3.zip
Ver2だとDSP LOOPのエラーが起きるという凡ミスをやっていたため、
再度adc~とdac~を分離しました。
あと、サイズがコンパクトになっています。




オブジェクトの上がdac~側、
下がadc~側になってます。
テレコに接続しないでください。

主な機能は
【adc~側】
inputボリューム調整


【dac~側】
outputボリューム調整
outputモノラルon、off
outputミュート
DSP on、off


2017年5月7日日曜日

[Pduino]ロータリーエンコーダーをPuredataで使うヒント

実は難しいのです!
PuredataのフォーラムでもC++やPyhon使ったほうが簡単ですと回答があります。
難しいと言われるとPuredataだけでどうにかしたくなります。

やってみました。
こんな感じで割とサクサク動きます。
※配線の誤記載があったので修正しました。
また、回転方向の誤検出のパターンについて付録につけました。






使ってみたロータリーエンコーダーはこちらです。
安い。
一般的なACBピン配列でプッシュすればモーメンタリーのボタンにもなるものです。

ピン配列は入手したものにより異なるのでデータシートを要確認ですが、
上記の物はこちら。


繋ぎ方と回路図的なものはこちら。



Arduinoとの繋ぎ方もテンプレ的な繋ぎ方です。
なお、デジタルピンは
A・・・53ピン
B・・・52ピン
で繋いでいますが、お好みで。

rotary_encorder_testV1.zip
同じ環境を再現しないと動作しないかと思いますが、使ったパッチをアップロードしました。
[arduino]オブジェクトは必須です。
一番最初にArduinoが出力したピンNo.を拾って右回転・左回転を検出するので、
残念ながら若干回転方向を間違える事がありますが、シビアなリアルタイム操作が不要な場合はまぁ支障無いかと思います。
Arduinoが出力した値を適宜削る方法には[route]オブジェクトがありますが、
今回は[unpack]を使用しました。こちらのほうが簡単です。
ロータリーエンコーダーを1個しか使わないなら[unpack]のほうが早いですが、
多数の可変抵抗等を繋ぐ際は[route]で出力を綺麗にデータ抽出するほうがいいです。

[moses 52]はたまにピンNo.が0や1といった予期しない値を出力したときがあったので削除するために保険で入れています。

【回転方向の検出について】
[t b b]
|
[timer]
|
[ float  ]
|
[moses 50]

ロータリーエンコーダーを回すと高速で多数の出力が始まるのですが、一番最初の値だけが欲しいので、
Bang版threshold~的な動作をするフローを作りました。
すなわち、bangとtimerを使って出力の間隔時間が短い時(ここではmoses 50 の50ms)
は次のspigotで出力を遮断します。


*汎用的にすぐ使えるようパッチを作りました。
rotary_encorder_forPduinoV1.zip
上記のように繋いでピン情報を送るとすぐ使えます。
ロータリーエンコーダーのAピンをArduinoの若番(例えば22)
ロータリーエンコーダーのAピンをArduinoの老番(例えば23)
に繋いで下さい。




2017年4月25日火曜日

[Pduino]タップテンポとテンポに合わせてLED点滅

[Pduino]エフェクトOnOffを物理スイッチで制御&LEDの点灯・消灯
こちらの記事で紹介した、
上記の物理的な回路ですが、
少し工夫を加えれば、
モーメンタリースイッチのタップでテンポ計測し、
テンポに合わせてLEDを点滅させることができます。
エフェクターでいうとタップテンポのディレイ等に応用できます。
※モーメンタリスイッチはクリック感の少ない、軽快に押せるものがオススメです。
深くしっかり押さないといけないタイプだと苦しいです。


タップテンポの計測方法はこちらのフォーラムを参考にしました。

Puredata側はこのようなパッチになっています。
一番左のフローは急造で作ったディレイ回路なのでスルーするとして、
ポイントは右側の[arduino]に繋がるフローです。

左上の[receive Tempo]から[arduino]に繋がるまでの回路は、
LEDをテンポに合わせて点滅させる回路です。
[metro]で点滅させますが、消灯処理が必要になるため、
[delay 10]
|
[digital 13 0(
で消灯させます。
また、[metro]の手前にBangボタンがあるのは、
 テンポが変更した際にLED点滅の挙動がおかしくなるため、
テンポの数字が変更した際に合わせて[metro]をリセットするようBangしています。

[arduino]から下のフローはモーメンタリスイッチのタップでテンポを検出する回路です。
[change]の直後はタップする度に
押した瞬間:1
離した瞬間:0
を吐き出すため、
[moses 1]で1だけを抽出し[trigger b b]に送ります。
後のタップテンポの仕組みはPuredata Forumの通りです。
ここで得たテンポをそのままLED点滅の回路とディレイタイムの回路へ送れば完成です。

※まだ、[trigger]の使い方が自分はヘタクソです。理解が足りない、精進せねば。


[Pduino]エフェクトOnOffを物理スイッチで制御&LEDの点灯・消灯

[Pduino]Lチカと応用(エフェクトOnOffのLED点灯)
[Pduino]物理スイッチでのエフェクトOnOff

まとめとして書きますが、上記2つの記事の内容を合わせれば、
エフェクトのOnOffを物理スイッチで切り替え、更にその状態をLEDで点灯・消灯して表現できます。


右側がエフェクトOnOffの回路で、左側がLED点灯・消灯の回路になります。

[Puredata]スライダーのliner増減をlog増減へ変換する[Pduinoでも可]

今回の記事はPuredataのスライダーの増減量をlinからlogに似非変換するTipsです。


上の写真のとおり、スライダーは増減量をlinとlogで選べます。
スライダーのプロパティから変更できますが、
以下の場合では使いづらい場合があります。

・物理的なポテンションメーターは付けてしまえばlogとlinを変更できないが、
エフェクトに合わせてlinとlogを切り替えたい場合

・Puredata内のスライダーについてもスライダー自体は共用にして
複数のエフェクトに合わせてlinとlogを切り替えたい場合

さてこの場合、どう対処するかですが、
ひとまず物理的なポテンションメーター、Puredata内のスライダーを問わず、
Bカーブ(lin)を使ってください。
ポテンションメーター等の変化の範囲が
0≦x≦1
0≦y≦1
の範囲限定になりますが、
以下のカーブのようにそれっぽくではありますが簡易に変換できます。

Bカーブ(liner)
Y=X

Aカーブ
Y=X^3

Dカーブ
Y=X^2

Cカーブ
Y=1 - (X-1)^2


これで可変抵抗を買うときに困ったら、ひとまずBカーブ(liner)で対応できます。

※ただ、Puredataの実際のlogの増減のカーブは
Dカーブよりももっときつい増減な気がするので改良が必要かも。

[機材]Boss Mega Distortion MD-2 MOD

こちらの記事 で無改造のVanillaを紹介していますが、 今回紹介するのは自分で改造したものです。 紹介動画は以下。 内容は、 Vanillaの低音域が効きすぎて少々使いづらかったので 1:低音をカット(ただしゲインも少なくなるので) 2:ブースター...