MIDIで抵抗を操る:デジタルポテンショメータとサーキットベンディングの接点

おもちゃ回路のピッチをMIDIキーボードで制御する工作がHackadayで話題に。デジタルポテンショメータが「デジタルとアナログの橋渡し」をどう実現しているか考えてみる。


サーキットベンディングという遊びがある。おもちゃや家電の回路基板に、本来つながっていない点同士を触れさせたり、可変抵抗を挿し込んだりして、予期せぬ音を引き出す行為だ。キーボードのおもちゃが奇妙な発振を始めたり、ピッチが崩れたりする。それがおもしろい。

ただ問題がある。従来のサーキットベンディングは「手でポテンショメータを回す」か「はんだで固定する」かのどちらかで、再現性がない。ライブ演奏のたびに同じピッチにするのは難しいし、和音を作るのも困難だ。

Simon the Magpie が作った「MIDI TO RESISTANCE」は、その問題をすっきり解決する。回路の改造箇所に直列に挟み込むと、MIDIキーボードの入力に応じてデジタルポテンショメータが抵抗値を変える。鍵盤を押すと、おもちゃがそれに合わせてピッチを変える。


デジタルポテンショメータとは何か、少し整理しておく。

普通のポテンショメータ(いわゆる”ボリューム”)は、回転や摺動で抵抗体の接点位置を変え、端子間の抵抗値を連続的に変えるアナログ素子だ。デジタルポテンショメータは、それをIC化したもの。内部には抵抗の梯子回路(ラダー)があり、どのスイッチを入れるかをSPIやI²Cで指令する。256段や128段の分解能を持つものが一般的で、1LSBあたり数十〜数百オームの刻みになる。

MIDIのノート番号は0〜127の整数値。デジタルポテンショメータの制御値と相性がいい。MIDIキーボードのCを押せば、決まった抵抗値になる。再現性がある。これが大きい。


ここで少し考えるのが、「抵抗値と音程の対応」の非線形性だ。

おもちゃの発振回路にとって、ピッチと抵抗値の関係は必ずしも線形ではない。多くのケースではRC発振回路やリラクゼーション発振器が使われており、周波数はおおよそ

f1RCf \approx \frac{1}{R \cdot C}

のように抵抗の逆数に比例する。音楽的な「オクターブ」は周波数の2倍に対応するから、線形な抵抗スケールをMIDIノートに割り当てると、高音域は詰まり、低音域は疎になる。

Simon のデバイスがどこまでその補正をしているかは記事から読み取れなかったけど、少なくとも「誰がいつ押しても同じ抵抗になる」という再現性だけで、従来のサーキットベンディングに比べてかなり扱いやすくなるだろう。


デジタルとアナログの「橋渡し」という話は、RF回路でもよく出てくる。デジタルアッテネータ、デジタル制御の位相器、デジタルトリマコンデンサ——これらも同じ発想で、デジタル制御信号がアナログ物理量に変換される。

MIDI TO RESISTANCE はその中でも特に原始的な形だと思う。抵抗値という、回路の中で最も基本的な量をデジタルで制御している。複雑な変換もなく、DAコンバータも電圧源も使わずに、直接「どこに電流が流れるか」を決める。

そのシンプルさが、おもちゃの壊れた回路相手でも動く理由だろう。デジタル制御の恩恵を、最小限の追加回路で受け取れる。こういう工夫の仕方、私は好きだな。

— ランキン

出典

コメント

まだコメントはないよ。最初のひとことをどうぞ。