Picture

Hi, I'm marksard.

Joy of making, Smile be making, Interest and making.

Spin Semiconductor FV-1でエフェクターを自作する

リバーブが欲しい

ドローンシンセの自作とかライブジャムをyoutubeで観て、リバーブ系のエフェクタが欲しいなぁと思って探すけど心惹かれるものがなく(サンプル音とか公開されてないし)お試しで買うにしてはいいお値段するので、これは自作かなと思って検索したらハギヲさんの2400円で作る高品質DSPマルチエフェクター-モジュラーシンセ自作が出てきて「これだ!」と(いつもお世話になっております)

ブレボで試す

Spin Semi FV-1というICは結構有名らしい。秋月がDIP化キットを販売してて、+300円くらいで周辺部品を実装+DIP化してくれてるのでこれを使うことにしました。
FV-1のデータシート、秋月の説明書の回路構成と作例、海外ユーザーの作例、そしてハギヲさんのページの回路図を見比べで理解しながらFV-1単体での動作確認から、POTを付けたりスイッチでプリセット変えたり一通りハードだけでやってみて、それからArduinoでのアプリ試作して…という感じで徐々にパーツ増やしてく感じで作業を進めました。

img
あまっているpromicroシンセ試作基板のにスイッチと可変抵抗をつけてブレボのお供に。こういう使い方も想定して可変抵抗/エンコーダ両対応のフットプリント作ってプリント基板を作っておいて良かった。

ハードウェアと機能はこんな感じになりました。

  • モノ・ステレオ入力(切り替え)
  • ステレオ出力
  • 出力ボリューム
  • DRY/WET調整ボリューム
  • 入力レベルは半固定抵抗
  • プリセット切り替え用スイッチ2個
  • FV-1プリセット設定値調整ボリューム3個
  • 外部EEPROM2個
  • プリセット名、ノブへの割り当て設定名表示、現在値表示用OLED
  • コントロール用マイコンはWaveshare RP2040 Zero

入力はステレオ機材で使いたいパターンも出てくると思ったので、パーツが倍量になったり可変抵抗に2回路のが必要になるけどやる価値はあるかなって。

Waveshare RP2040 Zeroを選択したのは、

  • FV-1の電源として3.3V必要で、RP2040Zeroの内臓3.3V LDOが500mAまでOKなのでこの3.3Vをそのまま使えること
  • XIAO RP2040ではGPIOがちょっと足りない(XIAOは14本で、RP2040Zeroはスルーホールは23本)しZeroのがちょっと安い
  • 小さいので128x64のSSD1306を上に被せて省スペース化できる
  • promicro + SSD1306はノイズがひどかったけど、RP2040zero + SSD1306の組み合わせはわりとマシ

という理由より。

外部EEPROM2個をつなげるアイデアはハギヲさんの作例から頂戴しました。FV-1はEEPROMのセレクタ0番しか認識しないので、マイコン側でセレクタを片方1、もう片方を0に切り替えて認識させるという方法でやっています。

基板を作る

ブレボで一通りの機能を作ってソフト改良しつつ使って遊んで(大事)だいたいこれでイイかな、くらいで次のステップ。 今回も基板を作成。前回のpromicroシンセ試作基板と同じ100x60に収まりました。どうせなら100x100サイズに詰め込んじゃえとマウスバイト領域除いた100x35に拡張基板として以下の回路を入れました。

  • MIDI IN/OUT(INはフォトカプラ6N136を使う)
  • GATE/CV
  • RCフィルタ(というか直列並列でなにかしら入れられる回路)
  • arduinoマイコンからi2cでEEPROM書くときの回路
  • ユニバーサル基板的なやつ

本体基板と拡張基板は切り離して、ソケット立ててブレボ用のワイヤで繋げる想定。ブレボでの実験などで汎用的に使います。
本体基板側のRP2040ZeroのGPIOは今回作るモノ的に余裕があるので、MIDI IN/OUT用にRX/TXピン、CVの入力用にADCのあるピンを1つ、mozziライブラリでも遊べるように0番ピンも空けて、それ以外をFV-1とスイッチなどの接続に割り振り。
作ったあとでも遊べる余地が残るように作っておけば基板を使いまわせるので良いです。

img

そんな感じなので拡張基板の回路側は使いまわしを見越してEEPROMライタはプルアップ抵抗ついてます(RP2040で使う分には不要)。ポットやスイッチのチャタはソフト側で対応するから(必要になってパラでコンデンサ入れるなら脚に半田出するしええか、みたいな)…など私の都合が多分に入っているので回路構成や定数は参考程度に。

img

卓上において使いたいので実装は片面、プレート乗せることも想定してコンデンサは横置きに。コンデンサは16Vとか25Vの5Φx11mmを想定。1uF~100uFくらいまで置けます。

完成

FV-1の音はイイ感じです。シンプルなBBDエフェクタしかない私の今の環境を十分潤してくれます()

FV-1は有志が作ったエフェクトプリセットが公開されていて、さらに自分でプリセットを作ることも出来ます。それをEEPROMに入れて使うことが出来るのですが、公開されているるシマーリバーブのプリセットとリバーブエコー、テープエコーのプリセットは特にオススメ。もうこれだけで十分元取れます。

あと一度使ってみたかったTR-808で使われてるのに似たスイッチを使ってみたんですが、キーボードのクリッキーより歯切れが良い感触で気に入りました。

img

マイコンアプリはこんな感じ

ただまぁ気になるところもある…

この基板で気になるところ。

  • dry/wetを可変抵抗の1,3にIN、2でOUTみたいなことをしたら真ん中で半分くらいに音量が落ちる。

真ん中にいくほど音量が落ちて半分くらいになるので使い勝手がよくない。 あとどっちかDRY一杯WET一杯に振っても一方の音がちょっと残る。この辺は私の設計ミス。ブレボの時はこれでもいいかなー出力あげればいいかなーとか思ってたけどやはり気になる。

  • 入力の半固定をボリュームにしたい

FV-1の最大入力は3Vppで4dBVにちょっと足りないので振り切りがちだし、すぐクリップするようなプリセットもあるので調整しやすいように入力ボリュームをつけたいなと。

ほか一部シルクミスとか、スイッチ付属LEDのフットプリントをデータシート読み違えによる逆接凡ミス💦とか、OLEDのノイズをもう少し抑えたいなとか、拡張基板と連結する配線幅を盛りすぎて切り離しがめんどくさすぎたとか、モジュラーシンセ用ケース(ユーロラックケース)を自作しはじめて、位置決めにはプレートが必要で、プレート作るなら基板も作り直したいよねとなって、現在修正版を発注しています。

ということで次回作につづく。

参考リンク

https://akizukidenshi.com/download/ds/akizuki/AE-FV-1-DIP.pdf
http://spinsemi.com/Products/datasheets/spn1001/FV-1.pdf
http://www.spinsemi.com/products.html
https://www.pedalpcb.com/product/arachnid/
https://github.com/HolyCityAudio/SpinCAD-Designer https://mstratman.github.io/fv1-programs/
http://www.spinsemi.com/programs.php

Back to Top