■RasPd4 ハードウェア編

03_213_1raspd4p.jpg
微妙に不安定な面があったRasPd2を作り直しました。「3」を飛ばして「4」になっていますが、奇数番号は多機能タイプで、偶数番号はコンパクトタイプということにしておきます。スイッチやポットの基板についてはRasPd2のものを流用しており、外観は変わりません。初めてPCBを基板製造業者に注文しましたが、まぁまぁ納得の出来栄えでした。Raspberry Piは「zero W」です。

▽回路図
03_213_2raspd4s.png
入力にローパスフィルターを追加し、出力はヘッドフォン出力ではなくライン出力を使っています。ステレオ入力や出力バッファー追加も考えていたのですが、チップ部品でないと入らなさそうだったので諦めました。ダンピング抵抗は22Ωから47Ωへ上げて様子を見てみます。電源は9Vではなく5Vにしたので、大きな降圧レギュレータが不要となりました。DCジャックには間違えて9Vのプラグを挿さないように、秋月電子で買った「電圧区分4」というものを使用しています。

▽レイアウト(KiCadのデータはこちらへ)
03_213_3raspd4l.png
あまり意味はないかと思いますが、一応レイアウトも載せておきます。GNDはアナログ(右側)とデジタル(左側)に分けていて、中央下のあたりの一点で接続するようにしました。GPIOの番号は「*」印で示しており、使わないGPIOについては左端に引き出してあります。Raspberry Piが重なる部分は高さ7mmの電解コンデンサを使いましたが、スペースがあるので横に倒してもなんとか入りそうです。注文した基板は1M(R1)と1K(R2)の印字位置を逆にするというミスがあり、危ないところでした…

ノイズについてはRasPd2とほぼ同じくらいです。ギターが拾うノイズの方が大きいので、まぁOKということにしておきます。最大入出力レベルは0.9Vrms程度で、これも問題ないと思います。以前あったエラー音のような音については、起動して数十秒の間に短くビッと鳴ることがありますが、それ以外では今のところ大丈夫なようです。

WM8731より性能がよいIC(CS4272が候補)を使うとさらに高品質になると思われます。自作するとなると情報が少ないのですが、今後取り組んでみたいところです。

■オーバードライブ(Pure Data パッチ)

デジタルの歪みはなかなか自然な感じにするのが難しく、自分なりにいろいろと検討しました。詳細は前回の記事(真空管風デジタル歪み)をご覧ください。
03p_211_1od.pngこのパッチをダウンロード
gain1では二次関数 f(x) = x2 + x を使い、波形を非対称に変形させて浅い歪みを調整します。ただそのままでは x < -0.5 のとき波形が折りたたまれる形になるため、[clip~ -0.5 100]を入れてそれを防いでいます。gain2は[tanh~]を使った対称ソフトクリップで、深い歪みを調整します。

個人的に便利かなと思い組み込んだのが、右側に配置している音量調節機能です。弾きながらadjust_vol(フットスイッチを想定)を押すと、エフェクト音の音量が原音と同じになるように変更されます。原理は簡単で、原音とエフェクト音それぞれに繋がっている[env~ 32768](左上と左下のあたりに配置)から出力される値の差を計算するだけです。

トーン調整についてはとりあえず単純なハイパスフィルターとローパスフィルターにしていますが、私の感覚には結構合っている調整方法のようです。デジタルなので内容の変更や追加は簡単にできます。気が向いたらクリーンミックスやフェンダー型トーン回路等いろいろ試してみたいと思います。

■タグ : 歪み PureData

■2018年

あけましておめでとうございます。今年もよろしくお願いいたします。
まだまだデジタルエフェクターをやっていく予定です。

■歪みと波形・倍音その10(真空管風デジタル歪み)

一般に真空管の歪みは偶数次倍音が多いといわれており、私が作った真空管アンプと真空管エフェクターでもそのような特徴がありました。よって偶数次倍音が奇数次倍音より多くなるような歪みが真空管の歪みに近いと考え、今回の目標とします。前回の記事で紹介したように、入出力の関係を表した関数(伝達関数と呼びます)で信号処理を考えていきます。



真空管のグリッド電圧とプレート電流の関係(Eg-Ip特性)は下図のような形になります。
12_210_1egip.png
通常真空管の増幅回路では、グリッド電圧の変化が入力で、プレート電流の変化を出力として取り出します。つまり上図は入出力の関係(=伝達関数)を大まかに表しています。あまり厳密ではありませんが、なんとなく形が似ている二次関数を使えばよさそうです。また、こちらのページでもx2の項により第2高調波歪が混ざることが記載されています。※後から気づきましたが、指数関数(ex)もたぶん使えます。

以下の伝達関数y=f(x)を考えました。
12_210_2_fx.png
プラス側は一応少しソフトクリップにしています。波形と倍音は下図です。
12_210_3fxLG.png
うまい具合に偶数次倍音が出ています。

高増幅率時(入力信号を大きくしたとき)の波形と倍音は下図です。
12_210_4fxHG.png
波形がほとんど頭打ち部分で占められるため矩形波に近い形になり、奇数次倍音の方が多くなってしまいました。

各波形の倍音をまとめたときに書きましたが、ハイゲイン時にはデューティ比が0.5でないパルス波の形にする必要があると思われます。そのための一番簡単な方法は直流を足して増幅の中心(バイアス点)をずらすことです。
12_210_5bias.png
うまくいきそうに見えましたが、信号が小音量のときは直流成分の影響が大きくなってしまいます。このときはデューティ比が大きくなりすぎ、まともな音になりません。別の方法でバイアス点をずらすことを考えます。

真空管アンプの回路では、大抵数段に渡って増幅されており、段間ではハイパスフィルタ(HPF)を通ることになります。これに倣って『低増幅f(x)→HPF→高増幅f(x)』という2段増幅を行ってみます。計算は省きますが、f(x)ではx2の項により2倍音と直流成分が加えられます。そしてHPFを通ると直流成分が除去され、バイアス点がずれると考えられます。結果は以下のようになりました。
12_210_6fxHGw.png
2倍音がやや少ないですが概ねOKでしょう。f(x)をもっと偏った非対称にすれば偶数次倍音がさらに増えてきます。



私自身は真空管が特別好きというわけではありませんが、奇数次倍音と偶数次倍音をある程度コントロールする方法がわかったことは意味があるように思います。あとは各種フィルタを使いこなせれば(簡単ではありませんが)、きっと自分に合った歪みエフェクトをプログラミングできることでしょう。

■歪みと波形・倍音その9(非線形性と歪み)

歪み系エフェクターのデジタル処理を考える場合、処理内容は基本的に関数の形(入力x、出力y)で書くことになります。以下にその例と非線形関数による歪みについて簡単に説明しておきます。倍音については前回の記事にまとめています。



まず理想的な増幅器を考えます。増幅率をaとすると、出力は入力に比例して大きくなるy=axという式になります。下図はa=1のときの入力と出力の関係をグラフにしたものです。
12_209_1lin.png
このように入力と出力が直線(比例)関係にある場合は「線形」です。直線の傾きaが変わっても線形といえます。正弦波を入力したとき(上図下側)、出力(上図右側)には全く歪みがありません。



増幅器には通常電源電圧等の制約があるため、一定の入力を超えたところから出力が頭打ちします。グラフでは、途中からyが一定となる形になります。
12_209_2hc.png
正弦波を入力したとき、出力はクリップされたものとなります。この場合は線形でないので「非線形」であり、歪みが発生するというわけです。しかしながら、単純なクリッピングのみで自然な歪みを得るのはなかなか難しいと思います。



現実の増幅素子では急に出力が頭打ちになるわけではなく、ある程度滑らかな変化だと考えられます。
12_209_3sc.png
上図の関数はy=tanh(x)で、このようにS字を引き伸ばしたような形はシグモイド曲線と呼ばれています。正弦波を入力したとき、出力はソフトにクリップされたものとなります。



真空管を使った増幅では、非対称で複雑なカーブになるようです。
12_209_4tc.png
正弦波を入力したとき、出力は非対称に変形しているものとなります。この場合の関数の詳細については別記事にまとめています。

■タグ : 歪み 波形・倍音

管理人

ブログ内検索

メールフォーム

当ブログに関するお問い合わせはこちらからお願いします。 ※FAQ(よくある質問)もお読みください。

お名前
メールアドレス
件名
本文

アクセスカウンター