Arduino UNOだけで作るシンセサイザー「VRA8-U」を動かしてみた


今年もなんとかMaker Faire Tokyoを見に行けたのですが、Musicコーナーで目ならぬ耳を奪われたのがこちらの展示でした。

ISGK Instruments | Maker Faire Tokyo 2022 | Make: Japan
ISGK Instruments Digital Synth VRA8-U Arduino Unoの限界に挑戦する、Digital Synth VRA8シリーズ第8弾。8ビットCPUひとつで音を合成す…

Ryo Ishigakiさんの作品で、一聴してとても良い音(シンセサイザーとして)がしていて、お話を伺うとArduino UNO単体+PWMによる簡易的なDACと聞いてビックリ。
ソースコード等すべて公開されているということだったので、是非作ってみようと思いました。

ざっくりスペックとしては

・2 OSC + 1 Sub OSC
 または4音パラフォニック
・1 LPF
・2 EG(フィルタ、AMP)
・1 LFO
・コーラス内蔵

となります。

というわけで、パーツケースで眠っていたArduino UNOを数年ぶりに引っ張り出してきて、動かしてみました。
上で「とても良い音(シンセサイザーとして)」と書きましたが、ハイファイな音ではないのですが、なぜか鳴らしていて気持ちの良い音がします。

製作については、詳細な製作ガイドがあるので、この通りに作れば大丈夫だと思われます。

Digital Synth VRA8-U(Arduino Uno用) by risgk
Arduino Unoの限界に挑戦する、Digital Synth VRA8シリーズ第8弾。8ビットCPUひとつで音を合成するシンセサイザー(MIDI音源)です。シリーズの集大成として、単音モードと4音モードの切り替えに対応、コーラスエフェクターを搭載。ソースコードはフリーで、Arduino Uno、抵抗、コンデンサ、...

必要なパーツはArduino UNO以外には、PWM用のLPFとデカップリング用に以下の6つのパーツ、

・100nF(0.1μF)のコンデンサ×2
・220オームの抵抗×2
・10μFの電解コンデンサ×2

および配線材(ブレッドボード、オーディオジャック等)だけです。

Arduinoのソフトウェアは基本ライブラリだけが使われていて、追加で必要なものはありません。
Arduino Coreは1.8.5を使ってくださいということでしたが、Arduino IDEをインストールしたら何故か1.8.3が入っていたので、手動で更新しました。

スケッチを書き込むと、Arduino UNOのシリアルポートがMIDI入出力ポートになります。
デフォルトでは、昔のDTM音源でよくあった38.4KbpsのシリアルMIDIになっています。

上記の製作ガイドに書かれていますが、PC等からこの音源にシリアルMIDIで信号を送るには、Hairless MIDIというツールが使えます。
このツールはPC内部のMIDI信号をシリアルポートへ送受信します。

また、HTML(+JavaScript)で書かれたコントローラが提供されており、これをChromeで開くことによってMIDIコントロールメッセージ経由で音色パラメータを制御できます。
この場合はHairless MIDIとChromeを中継するための仮想的なMIDIデバイスとしてloopMIDIというソフトを使います。

パラメータをいろいろいじってみた感じでは、パラフォニックも良いですが、やはり単音で厚みのある音が出るのが魅力的です。Ryo Ishigakiさんの長年の試行錯誤の賜物だと思います。減衰系の音ではノイズがやや気になるので、OSC2のノイズをうまく使うなど工夫が必要かもしれません。

ともあれ、オシレータ、フィルタ、エンベロープに加えてLFOやコーラスまで備えた本格的なシンセサイザがArduino UNO一個で簡単に作れますので、ぜひ試してみていただきたいと思います。

コメント