generated at
20250216

DIY VCO その1
とりあえずイマココの様子なんだけど、C3 を HapaxCV から出して、V/oct を送ってるんだけど、な〜んかチューニングが合わない
....と書きながら「いやっ....!?」とおもってノブを回しながらシーケンサを叩きながらをしていたのだけど、やっぱりチューニングが合わない
C3 に合わせると C4 で B4 だか D4 だかにズレてしまう

年末年始からユーロラックのモジュールを買い集める中で、モジュールの仕組みを理解するためにはやはりローレイヤのコトが分かってないとダメだな....という結論に至った
妻に正論アイスピックでブッ刺されて斃れたのだけど、私は何か物事に取り組む時に理屈を分かろうとする癖がある
「アンタさぁ、楽器買ったんだったら楽器の演奏の練習をしなさいよ」
幼少の頃よりその性向があって、当時ワープロで我流のタイピングを身につけた後に、ワープロをバラして、一体どういう仕組みでキーを押したら字が出てくるんだ.....?? とおもったのかおもってないのかは覚えてないが、とにかくバラして「フムフム、キースイッチが基板にのっかっていて....??」とまで考え至っていたのかは覚えてないが、とにかくそういうことをオフラインの田舎でやっていた
今の食い扶持であるプログラミングに関しては、高級言語で満足して、コンパイラやらアセンブラや、CPU みたいな方向には向かなかったのだが、それにしてもまあ興味自体はあって、元々はユーロラックじゃなくて RISC-V の学習をするつもりではあったのだが...
余談だけど、先日たまたまjunebokuさんとigaiga555さんと話してる流れで「機械によるリプレースの波は後ろからくる、という認知でいたが、前からくるということが分かった」と言われて、最初はちょっとよく分からなかったのだが、説明を聞いて、確かに1次産業みたいな物理が絡むレイヤはむしろ後回しで、ビットに置換可能なモノから先に置き換わっていく〜というようなニュアンスで、なるほどなーと
特にそういう深い考えはなかったのだが、特にパンデミック以降、畑をはじめてasonasさん曰く「土に還る」をやっている流れの延長線上にユーロラックと RISC-V が位置付けられるのかーと考えると少し感慨深い
サーフィンも面白そうにみえるが、あまりに日進月歩すぎて(やれ DeepSeek だの Deep Research だの、全くついていけない)、無意識的に丘なのか、山なのかに興味のベクトルが向いているのかも

ことの発端は Erica Synths の DIY キットの作者の動画をアレコレみてしまったってコトで、ブレッドボードと電子部品を組み合わせたら、それっぽいモノが出来上がる過程にかなり感動した
.....で、オイラもコレをやることでユーロラックもとい、電子楽器の知識が深まるであろう!! と一旦秋月の EC をみてたんだけど、部品の発注からしてクソ素人なので、いきなり崖から突き落とされてもサッパリ分からんという気持ちになったので、とりあえず最初は舗装路を走らせてもらおう.....ということで、ラトビアから DIY キットを一式輸入した
さすがに国内の流通で DIY キットを扱ってるとこなどあるはずもなく、Erica には世話になってるしナ....という気持ちで

注文から、ものの数日で大陸の先から荷物が届いて、文明はすげーな〜と
「さすがに最初は VCO っしょ!!」ということで何も考えずにオシレータから取り掛かった

ちなむと、この日「ダメだ!アナログの絡む学習にはアナログのノートがないと無理!!!」って数年ぶりの文具熱が爆発して、勢いよく A3 のニーモシネを買ってきた
詳しくは突然の文具

ブレッドボードではなんとなく動いてるナ〜〜、つって早々に PCB にはんだ付けする作業をはじめた
チューニングは、はんだ付けしてからやればよかろう!とおもって、そこまでちゃんとやっていなかった....反省

久しぶりだなァ....この感じ....(cv: 加山雄三)
書いてる今から見てもまあまあ粗くて己のはんだ付けのヘタクソさが呪われる
あと、IC は DIP を着けろよ!! っていう手順を完全に読み飛ばしていて、そのままはんだ付けしてしまった(反省)
パネルの組み込みまでやって、意気揚々とユーロラックに接続したのだが......
根本的な問題として、COARSE がちゃんと指数関数的に動いてくれていないというのがあって、4時くらいのところにC1-C5が密集してて、そこで微妙に音階は出るけど意図した動きになってねェ!! っていう
当たり前のように v/oct に cv を入れても同様の問題があったので、たぶんトランジスタらへんをミスっちまってるのかなァ....と
そのせいだからかもわからんが、背面の可変抵抗がウンともスンとも反応がなくて、困ったな〜と...

...というわけで、回路はだいたい分かっているので、KiCad で VCO の回路を作って PCBA で発注してみっか〜と
たぶん3日ぐらいかけて回路を引いて、PCB の配線パズルをやったとおもう
最初はパネルと互換のものを作る気でいたのだが、具の位置合わせをバシッとやれる自信がなく、早々に諦めた
あと、試作なのでなるべくコンパクトにしてコストダウンを図りたかったので、HP もオリジナルよりも小さくしたらめちゃくちゃギュウギュウになってしまった
PCBA 前提だったので、遠慮なく SMD にした
VCO の失敗の後、S&H をやってたんだけど、こちらは VCO よりも部品密度が高くて、素ではんだ付けをミスったし、挙句の果てには電源につないでみたらどっかがショートしてるっぽくて、電源の安全回路が働くという無様を晒してしまった
当たり前のように己ではんだ付けするよりもよくできている
本当は両面アセンブルしてもらいたかったのだけど、想定している可変抵抗も3.5mmジャックも在庫から探し当てられなくて、まあ表面はそれだけっちゃそれだけなので自前で部品を揃えて自前ではんだ付けすることにした
これらのパーツは電氣美術研究會さんで揃った
Takazudoさんのとこでよくオマケ品をもらっていたので、ようやっとコンバージョンできてよかった
PCBA もまあまあ早くて、1週間くらいかな?で届いた
そんなこんなを経て、最初の動画にたどり着き、COARSE と FINE でそれっぽい波形が出るようにはなったのだが、C1 に合わせてチューニングして、C5 に合わせてチューニングして〜みたいのをやってもな〜んかズレていくし、C3 に合わせても前後でズレていくので「あるえ〜??」というのが今

冷静に考えて、アナログの VCO は.....かなり難しい(結論)




DROID E4DROID M4 の操作先を切り替える
フットプリントがミニマルなので、1:1 マッピングにするには IO が全く足りないので、仮想的に内部で状態を持って、それを外から変更したり、参照したい
脳が react なので、DROID Forge でも state みたいなものを定義して、それを E4 で切り替えて、M4 がそれを参照すればイイのか〜?? みたいな発想だったんだけど
プログラムとしてはこういう感じで、まずはグローバルの状態: ここでは LFO のどのパラメタをいじるか をコントロールする ENCODER を定義する
ここの TIL としては、discrete に数値を指定してやると、それ以下の整数を output として吐き出してくれるということ
↑の例だと、3に指定しているので output は {0, 1, 2} になる
次に、LFO の level を制御する MOTORFADER を定義してやって、selectat を 1 に指定する
昨日の TIL で、selectat を使うことでソフト上で設定した MOTORFADER が物理のフェーダーに挙動が反映される〜というような仕組みらしい
で、select に ENCODER の output である GLOBAL_STATE を内部結線してやることで、エンコーダを1にした時にこの仮想フェーダーの設定が有効化される
同様に LFO の hz を制御する MOTORFADER を定義して、こちらの selectat は 2 に指定する
上述の通り、エンコーダが2の時にこの仮想フェーダーの挙動が呼び出される感じ
ソフトウェア上で、内部結線として表現されていたので、なんとなくメタファーとして接続なのだという理解でいたのだけど、実際の挙動としては変数の方が近くて、例えば _LEVEL を定義した時に、out に接続したらそれは代入で、in に接続したら参照で、値自体は変数内に保存されている〜というのが実態のように感じられた
それはそうと、本当に M4 がシャコシャコ動くのが気持ちよすぎて、意味もなくシャコシャコさせてしまう