ただ音楽を聴くためだけに、PCB設計と3Dプリンティング、そしてC言語を習得した話
I learned PCB design, 3D printing and C just to listen to music
I learned PCB design, 3D printing and C just to listen to music
音楽を聴くというごく単純な目的のために、PCB基板設計、3Dモデリングによる筐体制作、さらには組み込みC言語によるハードウェア制御までを独学でマスターしてしまいました。エンジニアの「こだわり」が爆発すると、ここまで突き抜けてしまうという実例です。
HNのみんな、ついに夢だった音楽ストリーマーが完成したよ。レコードジャケットサイズの正方形ディスプレイ、Compute Module用の自作キャリアPCB、そして3Dプリントしたケース。カスタムコンパイルしたカーネルとAlpineのミニrootfsを動かして、小さなC言語のアプリで画面を表示させてる。ホビーレベルでこんなの作れるとは思わなかったし、しかもKiCAD、FreeCAD、VSCodeといったフリー・オープンソースソフトウェアだけで完結できるなんてね。いい意味で予想を裏切られたよ!
「設計ができたら、新しい3Dプリンターで印刷してみたんだけど、惨憺たる結果だった。製造向けの設計、特に3Dプリント用の設計について学ぶのに結構時間がかかったよ。」
結局どうやってうまくいったのか、詳しく聞きたかったな。
「4MPの画像を秒間60フレームでクロスフェードさせるのは、そこそこのパワーがあるシングルボードコンピュータでも簡単じゃないと分かった。」
たしかにね。最初は、バス停や電車の広告用LCDモニターの裏になんでわざわざフルスペックのPCが必要なのか不思議に思うけど、メモリ帯域幅を概算してみると、ピクセルを処理するのに結局1GHz程度のデバイスが必要だって気づくんだよね(1920² px × 24 bpp × 60 Hz = 620 MB/s)。20年前に「フィルレート」がやたらともてはやされた理由や、トゥルーカラーが普及するまで時間がかかった理由も納得できるはず。
その一方で、腕時計サイズのディスプレイなら32bitのマイコンでも十分きれいに表示できるし、AppleやGoogle、Samsungがスマートウォッチでやってるようなバッテリーを大量消費するアプローチは、PebbleやZeppなんかに比べると少し的外れな気がするな。
少し話が逸れるけど、昔を懐かしむついでに。昔はどのブロックにも写真現像屋があったよね?近い将来、気軽に「PCB屋」に行けるようになったりしないかな?PCBを作ってほしいっていう愛好家の密度が低すぎて、結局中国を拠点とする1、2社が配送時間の制約付きで市場を独占しちゃってるのか、気になるところ。
おっ、Divine Comedyの『Absent Friends』だね。なんて美しいアルバムなんだ!
PCB設計ってどうやって学んだの?おすすめの本やリソースはある?習得までどれくらいかかった?
Pipewireの設定でマルチサンプルレートを許可して、DACのオートスイッチができるようにした?そうすればリサンプルせずに済むよ。
「未経験だったから、基礎的な電子回路や磁気から高速信号のルーティングまで、学ぶことは山ほどあったよ。」
これ、どうやって学んだの?
ホビーレベルだと、ハードウェアって数学や物理の知識がハードすぎて、なかなか手が届かないんだよね。自分も独学でエンジニアリングコースをかじってみたりするけど、何か作れるようになるまでには何年もかかるし、結局自由な時間もやる気も尽きちゃうんだ。AIが助けてくれることもあるけど、出力が間違っているかどうかの判断までは自分じゃできないしなあ。
「家ではAirPlayしか使わないから、ストリーマーがそれに対応している必要があったんだ」
AirPlayって、ストリーミング中にRedditやYoutubeとか他のメディアを見てると、そっちに切り替わっちゃわない?
これは本当にクールだね。今使っているSoMからRadxa CM3に乗り換えたいんだけど、国際配送可能なディストリビューターのどこを探しても在庫がないんだよ。
どこで仕入れているのか教えてもらえる?(あと、もしよかったら1つ譲ってくれないかな?)
いいデザインだね。自分や友人のために似たようなプロジェクトをやってきたけど、日常的に使い続けたくなる音楽システムにするには、やっぱり美観が鍵だよね。最近作ったやつはPioneerのアンプを再利用したよ。 https://rodyne.com/?p=3380