n度あることはn+1度ある

憶測が多いブログなので鵜呑みにしないこと

nucleo boardとmbedでギターエフェクターを作る 1.入出力回路

マイコンでデジタルエフェクターを作ってみたかったのでとりあえず安いnucleo boardのF446を購入して作ってみることに(nuleo boardの中ではCPUクロックが最高であり、coretexのM4なのでDSPが搭載されていることからこれにした)

まず入出力の回路なのだが音声信号はノイズ処理がかなり重要になってくるため自分の能力の範疇を超えるため他の方のものを参考した

今回は「mbed ギターエフェクター」と検索するとトップに出てくるプロトタイパーズさんの回路を使わせてもらった。他の製作者の方もこの回路をよく使用しているようであった。この回路は一見複雑そうに見えるがコンデンサは全てローパスフィルタなどに使われているだけであり実際は反転増幅などのシンプルな回路となっている。

まず初めに秋月で部品覧に書いてある通りに購入し、そのまま組み立ててギターの直接の入力と、mbedへの入力をオシロスコープで確認してみたところ3Vでオペアンプを動作させているのにも関わらずなぜかバイアスの1.5Vで頭打ちになってしまった。そのため第一の変更点としてオペアンプを5V動作にし、R4を2倍の20kΩとすることによって大体3Vくらいで出力信号が頭打ちするようになった。

次にmbedの出力をオシロスコープで観察してみたところなぜか波形の直流分(バイアス)が存在していた。電解コンデンサによってこれは消えるはずなのだが消えるどころか1.5Vのバイアスから2.5Vくらいのバイアスに増幅されていた。なので第二の変更点としてC6を余っていたフィルムコンデンサに交換することによって直流分を消すことができた。コンデンサの種類によって何が異なるのかよくわからないのだが一応波形上では入力波形とほぼ同じになっていたのでよしとする。

実際にエフェクターをかけずそのまま出力してみたものをアンプに繋げて聞いてみたところ素人耳には普通のギターの音がリアルタイムに出力された。入出力回路はこれで完成である。

F446のanalogoutの周波数はいくつか知らないし検索しても全く情報がでてこないがanaloginとanalogoutを∞ループさせているだけでこのような結果になったのでaruinoのようにクロックの分周を設定したり割り込みを設定したりとしなくていいのはF446を使用してよかったと思える点であった。あとはエフェクターを搭載するだけであるが今考えているのがオーバードライブとワウである。オーバードライブは簡単に作れそうなのだがワウは共振フィルタを用いたりしなければならないようなので手間がかかりそうだ。