2017年1月31日火曜日

[Puredata]bad vector sizeについて[音が出ない]


DSP Onにすると音が出ず、コンソールに
dac~:bad vetcor sizeと出ることがあります。



困り果ててネットで調べたり、切り分けしたところ

block~のサイズがアンマッチしている事が原因のようです。





[対策1]
block~と関連するオブジェクトをサブパッチにいれる。

たぶんこれが一番簡単です。adc~やdac~と同じ階層にblock~は置かないほうがよさそうです。
ハン窓を書くようなblock~を使うパッチはサブパッチへ。




[対策2]
(相変わらずエラーを吐く等、解決しない事が多いので)あまりやりたくないのですが、

block~のサイズをオーディオインターフェースのBlock sizeと
合わせるor小さくする必要があるようです。




図のようにblock~ 256でオーディオインターフェースのBlock sizeが64では確実にエラーを吐きます。
このため、block~のサイズを256→64に直します。
ただし自分の環境では音が確実に劣化します。
サイン波がギザっているのか倍音を出していました。。


もしくはオーディオインターフェース側のBlock sizeを256に引き上げる事も考えられますが、
自分の環境ではPuredataがハングアップします。

2017年1月29日日曜日

[Puredata]アナログ回路のフィルタについて[初心者向け]

アナログエフェクターの回路をPuredataで再現するにも
回路が読めないと辛いので、簡単な見分け方を書きます。



フィルタの計算方法は調べればすぐ見つかりますが
フィルタ計算ツール
を普段使っています。
抵抗値とコンデンサの値を入れるだけで簡単!


また変則型として、Fuzz Faceにも出てきた、
増幅器のGND側に抵抗と並列にコンデンサが並ぶこのパターンも
どうもハイパスフィルタの一種として働いているようなのですが、
細かい計算方法はちょっと不明です。
前述の通常パターンのフィルタ計算で割と似たような結果は得られているような気はするのですが、、。






[Puredata]Cabinet EQ vBeta

動画の3:35からのおまけのキャビネットシミュレーションです。
Fuzzだけあってもラインくさいサウンドなので
追加アップロードしました。



CabinetEQ  vBeta.zip
入力音がキャビネットっぽい周波数特性のイコライザになるよう調整してあるだけの
お手軽な完成度なのでBeta版です。

2017年1月28日土曜日

[Puredata]Fuzz Faceクローン 2[Traditional Fuzz]

前回ボリュームポット押さえつけたらクローンのFuzzノブが接触不良気味になって踏んだり蹴ったりですが、
何となくあの非対称の波形の正体が見えたような、見えないような。

Fuzz Face、二段目のトランジスタから再び前段トランジスタの手前まで戻る謎のフィードバック回路がありまして、
LTspiceと睨めっこしながらPuredataで再現を目指したのですが、結論、厳しいです。
Puredataはフィードバック回路が組めない仕組みのようで、別途回路を用意してフィードバック先にぶつけるしかないのです。
また、押さえつけ作戦で見えた非対称クリッピングの正体が
フィードバックの波形じゃないのかななどと考えたりしていましたが謎は深まるばかりです。

さて、PuredataでそれっぽいFuzzを作成しましたのでGoogle Driveに公開致します。
名前は捻りもなくTraditional Fuzzとしました。

Taditional Fuzz v1.zip
lop~無しのvesion 1.0です。


Traditional Fuzz v1.1.zip
lop~追加に伴いVolumeスライダーの可変範囲も修正したver 1.1です。
こちらを使う際はオーディオインターフェースの入力トリムを
クリッピングしない程度に全開にしてください。




回路の左のフローが通常のよくあるFuzzの歪みで、
右上に少しだけある回路がフィードバック回路の残骸です。



動画用意しました。
ハードのセッティングにより歪み方やトーンが激変しますので
使う方はお好みで微調整してください。

[入力レベルで困っている方へ]
お手持ちのオーディオインターフェースの入力レベルにより歪み方に差がでるので
回路初段の*~ 1の数字を任意で変更して使用してください。


[実機よりトレブリーなのが気になる方へ]
最後段にhip~ 31.83があります。
その手前にlop~ 1950程度のローパスフィルタいれるといい感じになります。



肝心のフィードバック回路の再現を目指したのですが、
正直有っても無くてもFuzzっぽいサウンドになります。
フィードバック回路的な残骸は一応特殊なboostスイッチとして残しました。
効果の程は微妙ですが、trimを最大にすると音の立ち上がりが
壊れたラジオのごとくブチブチ切れます。
なおギター側のボリュームを下げると出てくる、
Fuzz定番のトレブリーなクリスピーサウンドも再現しています。


Fuzzノブは直接出力を弄るポットというよりは
二段目トランジスタのGNDに向かう抵抗と並列で入っている、
パスコンのフィルタ制御をメイン機能としました。
(結果的に少しゲイン下がりますが)
フィルタの周波数計算は手抜きの割にはそれらしく聞こえるので不思議です。
クリスピーサウンドに至っては現在調子の悪い実機よりも良好です。




...もう二度とフィードバック回路は見たくない。

2017年1月27日金曜日

[Puredata]untilを使わずカウントアップする

何かとuntil使うと無限ループにハマりやすいのですが(汗)、
until使わずに指定回数カウントアップする方法を考えました。
metroとmosesを使います。


startのbangを押すとmosesに書いてある100までCounterがカウントアップします。
100までカウントアップしたらmoses経由でmetroをstopします。
untilと違いカウントアップのスピード調整ができるのでCPU負荷が少ない模様。

こんなもの、何に使うの?と聞かれそうですが、
Counterをtabreadのインレットに突っ込むと
arrayに保存されている値を1から100まで一気にアウトレットから出力できるので、
波形の最大値・最小値を測ったりするのに使えそうです。


2017年1月26日木曜日

[Puredata]非対称クリッピングの実験

前回は対称クリッピングの実験で以下の事が分かりました。

1)上下ばっさりクリッピングすると倍音が増える。
2)クリッピングした後にフィルタを入れるとクリッピングした波形も変わる。

波形が変われば倍音の出方も変わって耳に入るトーンも変化します。



今回は非対称クリッピングの実験をしてみます。

アナログエフェクターでいうと
古くはBossのOD-1にも採用されていた工夫です。
高価なエフェクターのディストーションに付いている歪みのモード切り替えトグルスイッチにもよく使われています。
中身はダイオード3つ程度使っているだけなのに、何というぼったくり!

横道逸れますが、以前Marshall Jackhammerで対称・非対称切り替え改造したときは
・対象はコンプレッション感が上がり(クリッピングして歪みが増え)音量が下がる
・非対称はコンプレッション感が減って(片側のクリッピングが緩やかになって歪みが減り)音量が上がる
という印象でした。



非対称クリッピングで得られる効果というと、波形の歪み方が上下非対称となり、
対照クリッピングよりも更に倍音を生んで豊かなサウンドになる事です。
なお、真空管のリッチな倍音サウンドの波形も上下非対称なのだそうです。
画像は波形の極端な例です。
非対称クリッピングは片側はばっさり四角になっていますが反対側は丸くなっています。
ただ、前段の増幅が大きいほど結局波形は対称クリッピングに近づいていきます。
しかしそれでも微妙に音が違うのが非対称クリッピングのポイント。




以下、実験動画。




前段をブーストすると結局対称・非対称共に四角くクリッピングして波形が似てくるのですが
倍音の出方が違うので微妙に音に差があることが分かります。








サンプルサウンド1で作ったサウンドについて。


プリアンプ部分は

(前段セットからの出力)
 ⬇
非対称クリッピング clip~
 ⬇
フィルタを使って尖った波形を微妙に柔らかく整形する lop~
 ⬇
増幅 *~
 ⬇
(次の段階のセットへ)



という1セットを実際のアンプの真空管の数だけ用意して途中、トーンスタック含めたフィルタを挟んだだけです。

サンプルサウンド1の音の立ち上がりが鈍ったり、音の抜けが悪いのはクリッピング直後のlop~多用の影響と思われますが、
(ただしlop~入れないと今度は古臭いディストーションペダル的なエッジが効き過ぎたサウンドになる)
3~6セットも用意するだけで複雑な歪み方になります。


アンプシミュレータ黎明期にこんな感じの似非サウンドあったなぁとしみじみ感じる今日この頃です。

2017年1月24日火曜日

[Puredata]Fuzz Faceクローン 1

※本物の実機を演奏している動画を見つけたので載せます。

1966年に製造されたFuzzの代名詞、Fuzz Face。
なんとも原始的でワイルドなサウンドです!




[以下、読む人のための追記]
いろいろ「バカな」実験しています。
まともな知識がある人はスルーしてください。
そもそもの実験方法に問題が多すぎます。
今回の結果は、、
1)フルテンにギター側から高出力を入力するとバッサリクリッピングする
2)フルテンでも回路途中の抵抗が増加すると波形が非対称になってくる
3)ボリュームポット強引に押さえつけたらfuzzでも綺麗な波形が出てくるミステリー

それだけです。



・・・実は手元にPNPゲルマニウムトランジスタ AC128を2個乗せた
Fuzz Faceクローンを自作したことがありまして、、

インプット最初に入力インピーダンス用1MΩが
GNDに落ちている以外は定数含め回路が全く同じため、
Puredataで似たものを作成できないか検討してみます。

まず初めにFuzzFaceのクリッピング波形と倍音の出方を見てみます。

[測定構成]
PPTP(サイン波生成のみ。周波数、失念。すみません。。)

FuzzFace(Fuzzフルテン、Volume1時くらいで確認)

WindowsのPuredata(波形確認)



《実験方法に問題ありなので動画削除しました。》




FuzzFaceオフ時のサイン波。



FuzzFaceオン その1

FuzzFaceオン その2
この荒い波形が独特の倍音なのか、、?


突如綺麗な波形がでました!
実はこの時初めて知ったのですが、Fuzzのツマミを可変せずに上から押さえつけると
波形が変わることを発見。
(やりすぎるとノブが接触不良起こします、注意)
ハンダ付けがヘタクソなのか、粗悪なボリュームポットのせいなのかわかりませんが。。
とある店のお父さん情報だとボリュームポットは
内部で紙で擦り合わせて抵抗を作ってるだけとか言ってたので
この紙の擦り合わせ具合でノイズが変わるのかもしれません。
侮りがたし、ボリュームポット。。
→いや、抵抗が上がり過ぎただけです。




ツマミ押さえつけ その2
ツマミ押さえつけ その3
だんだん強く押さえつけると非対称チックになっていきます。


ツマミ押さえつけ その4
結構強く押さえると、とうとう非対称になりました。
ただ「FuzzFaceオン その1」の位相反転したような形です。


ツマミを押さえつけない状態がノイズも含め一番Fuzz!というワイルドなサウンドですが
複雑なギザギザ波形と、そこから生じるノイズの再現が絶望的に難しいです。



[追記]
このため、一番倍音の出方の近い「ツマミ押さえつけ その4」を
ベースにして再現を目指したいと思います。
なんとなく上手く再現できなかった、もしくは
再現できても大人しいサウンドでつまらないというオチが見えますが。。
→押さえつけで抵抗増えて以降の電圧落ちてるので大人しくなるはず。
つまらないオチにしかなりません。
徐々に出力を上げながらクリッピング波形の変化を見るべきでした。






[追々記]
SpiceでFuzz Faceを波形解析されたものを色々見ていたところ、
「ツマミ押さえつけ その4」の波形が一番近い模様です。
自分でLTspiceで測定してみると「つまみ押さえつけ 3」を
上は激しくクリッピング、下ゆるやかなクリッピングにしたような波形が近いです。
→fuzzのツマミ設定を固定していても
ギター側出力に伴うクリッピング変化があるはずなので
spiceやオシロを使うにしても何パターンか検討しないといけません。

※ギターのリアピックアップの電圧を実際にテスタの交流で測った
ハムバッカー 約0.1V
シングルコイル 約0.05V
を使用(いやオシロ使って真面目に出力計るのが正解だと思いますが。だんだん何が正解かわからない)

0.004Vで「ツマミ押さえつけ その4」の波形を小奇麗に整えたようになります。
→よくよく考えたら、押さえつけの状態でギター弾いた音なんて小さ過ぎてほとんど聞こえません。






[機材]Boss Mega Distortion MD-2 MOD

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