■歪みと波形・倍音その6(ダイオードの位置)

歪み系エフェクターでは多くの場合、波形クリップのためにダイオードが使われます。ダイオードクリッパーとかクリッピングダイオードという呼び方があるようです。このダイオードの回路上の位置を変更し、波形・倍音の違いを調べました。

歪みと波形・倍音 記事一覧



▽回路図
12_193_1diodeppxc.png
非反転増幅回路の帰還部分にダイオードを入れる場合をODタイプ、出力にダイオードを入れる場合をDSタイプと勝手に呼ぶことにします。偶数次倍音も出るように、非対称クリッピングにしました。入力は1kHzサイン波、約0.14Vrmsです。音量はDSタイプの方が小さくなるため、各タイプ録音後ノーマライズしています。
※Twitterにて指摘をいただき、回路図左上にコンデンサを追加しました。増幅率を変更し、全データを差し替えています。(2017年8月12日)

▽11倍増幅
12_193_2diodepg11x.png
ODタイプの方が倍音が多そうに見えますが、なんともいえない感じです。聴感上は、ODタイプの方が高域が出ているように感じました。

▽21倍増幅
12_193_3diodepg21x.png
2~6次倍音はDSタイプの方が多く、7次倍音以降はODタイプの方が多いです。聴感上も、ODタイプの方が高域が出ているように感じました。

▽34倍増幅
12_193_4diodepg34x.png
DSタイプの方が歪率が高く、全体的に倍音が多いです。聴感上はあまり違いがわかりません。波形については、どの増幅率でもODタイプの方が丸みを帯びた形になっています。

さらに増幅率を上げていくと、ODタイプは歪率が31%程度で頭打ちになったので、深い歪みは得にくいようです。DSタイプは歪率が上がり続けましたが、波形の角が鋭くなるので、ICの歪みが混ざっていると思います。



・総評(のようなもの)

ODタイプは高次倍音が出やすい(クリアな音に感じる)、DSタイプは低次倍音が出やすい(太い音に感じる)というような傾向がわかりました。LED対称クリッピングでも測定しましたが、同じ傾向のようです。丸い波形になるODタイプの方がなんとなく低域寄りな音になるイメージがあったので、意外な結果となりました。

■タグ : 歪み 波形・倍音

■NJM2073ギターアンプ

07_192_1NJM2073Sp.jpg
ミニギターアンプとしてはLM386を使用したスモーキーアンプが有名です。私も自作したものを使っていたのですが、大きい音を出そうとするとどうしても歪んでしまいます。そこで、ある程度大きいクリーン音が出るミニアンプを自作することにしました。一応ミニサイズということで、卓上に置けて9V電池駆動可能なものにします。

まず電力効率がよいD級アンプを考え、PAM8408というICを試しました。しかしギターを繋いでみると、過大入力時にミュートがかかるらしく音が途切れ途切れになりうまくいきませんでした。他にもいろいろとD級アンプICはありますが、新たに購入するのが面倒だったので、昔何かのついでに買っていたNJM2073Sを使うことにしました。

NJM2073は、LM386と同程度のゲイン・出力の回路が2つ入っているパワーアンプICです。TDA2822という互換品もあります。BTL動作だと9V、8Ω負荷で3W以上出力がありそうです。スピーカーは出力に余裕があるものがよいだろうと思い、秋月電子の8Ω10Wのものにしました。

▽回路図
07_192_2NJM2073Ss.gif
簡単なオーバードライブ回路を前段に入れてスイッチで切り替えるようにしています(※トーンを上げすぎると発振するかもしれません)。プリアンプ部分は単なるフェンダー型トーン回路です。NJM2073の電圧利得が高い(+44dB)ため、ゲインはあまり上げなくても大丈夫だと思います。

パワーアンプは今後変更するかもしれないので別基板にしました。通常、出力には発振防止のための抵抗とコンデンサ(Zobelフィルタというらしい)を入れます。データシートでは抵抗が1Ωですが、歪みやすい気がしたので10Ωにしました。コンデンサはありあわせの100nFですが問題ないようです。NJM2073「S」(SIP9ピンパッケージ)は生産中止品で、「D」(DIP8ピン)とピン番号が違うので間違えやすいです。

▽レイアウト
07_192_3NJM2073Sl.png
▽PCB
07_192_4NJM2073Slp.png

ケースはタカチMB-3(90×60×125mm)です。スピーカー部分の穴あけ精度はイマイチですが、円状なのでそれほどズレが気になりません。意外と内部スペースがあるので、スピーカーの配置は真ん中でもよかった気がします。

どのくらいの音量かマイク録音して調べてみました。クリーン音のまま出せる音量は、ドレッドノートサイズのアコギをストロークしたときと大体同じくらいでした。歪むくらい音量を上げていくと、ケース自体が振動してジワジワ移動し始めます。大きい音を出すには、やはり頑丈なケースが必要となるようです。まぁそれなりの音量でクリーン音が出すという目的は達成できました。今後テスト用アンプとして使っていく見込みです。

■積層セラミックコンデンサの特性メモ

積層セラミックコンデンサ(MLCC)の特性については村田製作所ウェブサイトのコンデンサPLAZAに記載されています。それによると、高誘電率系MLCCは温度・時間経過・DCバイアス・AC電圧といった各条件により容量が変化してしまうということです。電源部分によく使われるMLCCですが、今回はハイパスフィルタ(HPF)・ローパスフィルタ(LPF)で使用し、さらにDCバイアス電圧をかけて特性を測定してみます。

10_191_1mlccp.jpg
今回使用したMLCCは高誘電率系の耐圧50V、F特性(JIS規格)のものです。たぶんEIA規格ではY5V特性に近いだろうと思います。実測値約94nFのもの2個を使いましたが、測定値はすぐ変動するためあまりあてになりません。比較用にフィルムコンデンサも準備しました。実測値はそれぞれ103nF、103nF、82nF(34nF+48nF並列)、82nFです。

▽回路図
10_191_2mlccs.gif
C1とC2を変更します。電圧は0V(GND)、4.5V、9Vの3パターンですが、フィルムコンデンサは電圧による容量変化がほとんどないので、0Vのみの測定です。電圧を変えてすぐは値が安定しないため、数分放置してから測定しました。PCの出力は約1Vrmsです。

▽結果
10_191_3mlcc.gif
<周波数特性>
0V、4.5Vの場合は103nFのフィルムコンデンサと比較すると高域側(LPF)で差がやや大きくなっています。9Vだと82nFのフィルムコンデンサよりズレていて、かなりの容量低下となるようです。X7R特性であればもっと容量変化は少なくなると思います。
<歪率>
バイアス電圧が高い方が歪率が悪化しています。低域は特に悪化していますが、もともとレベルが下がっている部分なので音への影響はそれほどないかもしれません。むしろ倍音が増えていい感じになるかもと思いMLCC10個直列や並列での測定もしてみましたが、歪率はほとんど変わりませんでした。

エフェクターに使うコンデンサとしてはやはりフィルムコンデンサが無難で、無理にMLCCを使う必要はないでしょう。一応省スペースで若干安いという利点はあるので、自分用のエフェクターには適宜使っていくと思います。

■RasPd2 プログラミング編

参考になるかわかりませんが、とりあえずRasPd2に入っているファイルをアップロードしておきます。(直リンクできないようなのでこちらの別ページにダウンロードリンクを載せています。)

▽コントロール割り当て
左スイッチ: エフェクト切替、切替時に右LEDが点滅
中央スイッチ: 特殊機能(ブースト機能等)オン・オフ、オン時中央LED点灯
右スイッチ: 長押しでシャットダウン
各ポット: エフェクトパラメータ
フットスイッチ: エフェクトオン・オフ、オン時左LED点灯

今回の内部プログラムはRasPd1のプログラムを単に移植しただけのものです。エフェクトを3種類入れているものの、エフェクトを切り替えた後いちいち各ポットを設定しなおさなければいけない仕様なので、現実的な運用は面倒だと思います。もちろん中身は自由に変更できるので、今後いろいろと発展させていきたいです。変態的なエフェクトをプログラムするのもいいし、スマートフォンと連携してエフェクトを操作するなんてこともできるかもしれません。



<スイッチ・LED>
RasPd1と同様、GPIOピンによるスイッチやLEDの制御を行っています。
こちらで丁寧に解説されています。→RaspberryPi電子工作入門

<可変抵抗>
エフェクトパラメータ設定は、ポットで分圧した電圧値をADコンバータMCP3008で読み取るという方式です。
こちらのページのプログラムを改変して利用しました。→Raspberry PiのPythonからTMP36のアナログ温度センサとMCP3008のADコンバータを使う
値の取得は0.3秒ごとにしています。取得した値が前回の値から変化していたとき、RasPd1と同様pdsendでPdへデータ送信しています。ポットを回したとき反応が遅く雑音が発生しますが、ワウペダルではないので実用上問題ないでしょう。

<データ保存>
RasPd1からの名残でパラメータ保存機能は一応残っています。しかしすぐにパラメータが上書きされてしまうため、意味がない状態です。工夫次第ではプリセット保存・呼び出しといった機能をつけることも可能だと思います。



ハードウェア編へ  ソフトウェア編

■RasPd2 ソフトウェア編

Pure Dataやオーディオを優先的に動かすため、下準備をしていきます(太字表記はコマンド)。
Raspberry Pi zeroの基本設定はこちら

通信に使うUSBケーブルは5V給電できないよう加工しています(外部から5V給電しているため)。さらに、うまく挿し込めるように角度を変えています。
03_188_1raspd2u.jpg



<CPU周波数スケーリング>
CPUのクロック周波数を常に1000MHzで動作するよう設定変更します。
$ sudo nano /boot/config.txt
#arm_freq=800 を arm_freq=1000 に変更
$ sudo apt-get install cpufrequtils(cpufrequtilsインストール)
$ sudo nano /etc/init.d/cpufrequtils
43行目あたり GOVERNOR="performance"



<不要なプログラムを停止>
RasPd1 ソフトウェア編その1と同じです。



<オーディオ設定>
WM8731のドライバを有効化します。
$ sudo nano /boot/config.txt
#dtparam=audio=on (コメントアウトしてオンボードのオーディオをオフに)
dtoverlay=rpi-proto (追加記載)

再起動後、オーディオ設定プログラムを起動します。
$ alsamixer
F5で全表示、スペースキー・↑↓キー・mキーで機能オン(OO)・オフ(MM)や機能切替です。設定は自動で保存されます。
Master 56 [dB gain: -9.00, -9.00]
Master Playback ZC [Off, Off]
Sidetone 0 [dB gain: -15.00]
Line CAPTURE
Mic [Off]
Mic Boost 0 [dB gain: 0.00]
Mic Boost 0 [dB gain: 0.00]
Playback Deemphasis [Off]
Capture 87 [dB gain: 9.00, 9.00]
ADC High Pass Filter オフ
Input Mux [Line In]
Output Mixer HiFi オン
Output Mixer Line Bypass [Off]
Output Mixer Mic Sidetone [Off]
Store DC Offset [Off]



<Pure Data(Pd)設定>
RasPd1 ソフトウェア編その2と同じですが、さらに低レイテンシー設定が可能です。また、44.1kHzには対応していませんので注意が必要です。Pd設定ファイルの下記該当箇所を変更しました。
$ nano .pdsettings
audiobuf: 5
rate: 48000



<自動起動設定>
RasPd1 ソフトウェア編その2と同じです。
今回のメインプログラム名は main2.py です。



<ADコンバータ MCP3008用設定>
$ sudo nano /boot/config.txt
dtparam=spi=on (#を外してSPI通信をオンに)
$ sudo apt-get install python-spidev(SPI通信に必要なPythonライブラリをインストール)



ハードウェア編へ  プログラミング編

管理人

ブログ内検索

メールフォーム

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

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

アクセスカウンター