Python初心者ですが、AIさんといっしょにMacでオシロスコープ的な素敵なモノが作れました
「YAMAHA AG03、Python・HTML・MacでHIFIアンプ経由のレコード音をデジタル化して取り出して、iPhoneにオシロスコープ的なビジュアルの配信も!」
・何を出来るようにしたいのか【1】
・AIさんの特徴を把握する【2】
・自分自身の知見を有効活用【3】
・みんなと同じに、では完成しない部分があった【4】
パソコンの黒い画面(CUI)のコマンドはほとんど忘れているし、Pythonのコードの意味なんて今でも大部分はわからない。
なのに気がつけば、2017年の雑誌連携のオシロスコープ基板を2026年の今入手して、AIさんとのお付き合いの仕方を勉強して、MacBookとYAMAHAのAG03を組み合わせて、ブラウザ上でウネウネ動く素敵なビジュアライザー環境が出来上がってしまった。
最初は、1970年代のヤマハ製アンプCA800IIの調子がなんとなく悪い気がしたところから始まったんです。
1. 「学研マイキット100」が
自分の中に育てた何かがささやいたんです。
「オシロスコープがあれば、アンプの不調原因は、きっと何となくわかるはずだ!」という、絶対的な根拠なんてない、だけどなぜか実感のある思いつき。 思い返せば、子供の頃ほんとに楽しかった「マイキット100」は電子回路にワクワクする記憶の始まり。今回のような不思議な探究心が急に研ぎ澄まされていくときには、あの頃に戻って一気に先に進んじゃうことが多いんです。1980年代にマイブームになったBASIC、ちょっとしたデザインのために色のデジタルデータ化や仕組みのロジック化にのめり込んだり、今も時々必要な時にふわっと浮かんでくるAccessのクエリーの作り込みなんかも、まあ大体同じ感覚が起点にあると思う。
ネットを検索しながらAIさんと相談していると、「トラ技」の数千円のオシロスコープ基板を発見。電子工作の大御所、後閑哲也さまが設計したBitTradeOne製のもの。「これだ!」と決めて、ラズパイゼロWHを買い足して、手探りで配線を繋いだところから、1ヶ月半に及ぶ夜更かしが続く日々が幕を開けた。
【1】 まずはアンプの健康診断の道具
【2】視野は広いけど頼み方で行き先が異なる
【3】中途半端に知ってる事を少しずつ深掘りして肉付け
【4】低コストで今あるモノを活用したい

2. システムアップデートの悲劇と、AIさんからの提案
ラズパイにモバイルバッテリーを繋ぎ、SSHでMacのコンソールから覗いて、まずはそこそこ動き始めた基板。あとは明日にしよう、そう思った翌日にOSのアップデートの配信。「セキュリティのためにアップデートしておこう」なんて軽い気持ちでトントンと進めて、さてそれでは本格的に、と思ったものの、2017年当時にラズパイのOSにとって核だったシステム(webIOPi)部分が綺麗さっぱり動かなくなってしまった様子。
「どうしよう」と途方に暮れる私に、AIさんが言った。 「じゃあ、描画は今風にフロントエンドのブラウザ側に任せましょう!」 ここから、Python未経験の素人の私と、ネットに沢山ある情報を優先して一般化しがちなAIさんとの、おかしな二人三脚が始まった。
AIさんは、すごく真面目な雰囲気のふりをしながら、でも得意な事になると、急に早口になってどんどん先に進もうとして沢山提案してきたり、なんだか先回りして思いもしないPythonの複雑なコードの一部を平気で出してくる。私に読み取る時間を与えまいとしているかのように。「私が理解してないと、次のお願いができないから少し意味を教えてよ」って頼み込みながら、でもなぜか不思議な間違いも含まれてるAIさんのクセをだんだんと掴んでいく。自信がない時は、どんどんコードが短くされていって、それでもうまく描画されないなんて事もままあった。
ちょっと特殊なデータの取り出し方になっている基板なので、 「常に基板のファームウェアのコードをまとめて貼り付け続ける」という進め方のコツを掴んだあたりからあとは、AIさんもその仕組みを理解してくれたんだけど、ちょっと深い部分に突っ込んだ質問を一回しただけで、最大多数の情報を優先する体質がすぐ表に出てきて、せっかく覚えていたこともみんな忘れちゃうので、「12bitで下位7bit上位5bitだよ、覚えてる?」って話して、それでもダメならファームウェアを丸ごと読みの込みの出番、これをほんとに毎日繰り返して、3歩進んで2歩下がるみたいな進行になりながらも、ついにwebIOPiを頼らずとも、基板に仕込まれている確認用の1kHzの綺麗な波を確認したり、2チャンネル分の音楽データがブラウザに描き出されはじめた。
【1】 オシロスコープで何が出来そうかを知る
【2】ネットの情報がほぼ全てな様子
【3】AIさんが一方的に進めないようにしっかり管理
【4】AIさんが入り込めない領域の情報はヒトがゲット


3. ハードとしての基板の限界、
その先にあったインターフェイス「AG03」
しかし、基板の仕様上、2チャンネルの同時データ取得ができず、しかも一瞬ずつ切り出す仕組み。抽出したデータ部分は正確な描画はできるもののリアルタイムで全体的な描画を目指すにはどうしても限界があることが判明。本来は定常波的な情報の細部を確認する事に適している基板。もちろん音のモニター出力も全く不可能、、、、。
「……待てよ。アンプの健康診断なんだから、別に超高周波の解析なんていらないのでは? 」
高級機でもなければ20kHzより上って鳴らないし、そもそもヒトには聞こえるはずもなく、私自身は8kHzより上は体調次第ではあるものの耳鳴りより高音過ぎてほぼ無音だ。
今回は楽曲部分の音のデータ化が出来るだけでいいので、オシロ基板を介さなくてもパソコンに何らかの方法でデジタル信号として取り込めたら良いはず。
あっ?!もしかして、、、、
「オーディオインターフェイスがあれば何とでもなるのかな?」
ここでAIさんの知識が炸裂。これまでの不思議な一進一退の経験値が、双方共通の知識の積み重ねとして急速につながっていく。
ちょっと前に、古いi5 8GBのUbuntu機をちょうど26.04に載せ替えてTailscaleを使った家庭内NASを含むネットワークとiPhoneの接続環境がうまい具合に整備されていたおかげで、トラ技基板の段階でも母艦のMacからHTMLに向けたサーバーをPythonで立ち上げると、Mac本体のブラウザーだけではなくて、iPhoneからでもオシロスコープがWi-Fiで動くことは確認済み。
「あとは、インターフェイスなんだね。」 「リサイクルショップにちょっと前からよく見かける、配信用とかに使いそうな小さなミキサーみたいなモノのことかな?」「AG03って書いてあるけどこれでいけるのかい?」
店内でもAIさんに相談し続け、その日のうちに導入。
6.3mmのモノラルジャック2本を、切断したRCAの赤白ステレオケーブルに半田付けして準備してOK。
早速Macからの給電を兼ねるUSBケーブルをAG03に接続。アンプのRECOUTからLINE入力、MONITOR OUTのRCA出力からアンプのRECモニター入力へ繋いで、アンプのセレクターを切り替えると、あとはAG03の入・出力の感度調整だけで、あっけないほど素直にまるで3ヘッドのカセットデッキの録音モニターのイメージで、Macを経由した音がスピーカーから流れてきた。
すぐさまMacの前へ。方向転換してからわずか1時間半、AG03ゲットと配線作成、サーバ配信用のPythonとブラウザ描画用のHTMLのコードを、これまでの知見から仕様を伝えてAIさんにサクッと書き換えてもらっただけで、ブラウザ上で音に合わせて2chがリアルタイムでパキパキウネウネ動くオシロスコープと、グラフィックイコライザー的な31分割のビジュアライザーが、ほんとにあっけなく実現!
YAMAHAさんありがとう、素敵なオーディオインターフェースです。こんな事まで出来ました!

「YAMAHA AG03、Python・HTML・MacでHIFIアンプ経由のレコード音をデジタル化して取り出して、iPhoneのブラウザにオシロスコープ的なビジュアル配信も!」
【1】 レイテンシーのない表現と音源の取り込み
【2】得意分野はほんとに専門的
【3】微かな知見をもとに方向を定めて検証
【4】AIさんまかせで出来上がりとせずバージョンアップ
🔽音量ご注意ください

4.AIさんとの、その後
・レコードをデジタル録音:これは難なく大成功
・針音などのノイズの軽減(※)
・曲間の自動分離(※)
※:音質への影響、分割ポイントの決定が難しく中断。
そもそも、ノイズも含めてそのままが「味」なのかも。
曲間はAudacityで手動の方がヒトの気持ちとピッタリに出来るはず。
音質は、48kHzで充分に感じた。もちろんコード書き換えで可変ではあるけれど。ファイルサイズはwav形式のままで一曲30〜40MB。あとは使いたい道具に合わせて好きなように変換しましょう。
NASもあるので、溜めておくのは苦にならない、いつでもCD化できる環境になりました。
最近はパソコンの内蔵HDDをSSD化して1TBとかのHDDがコロコロ引き出しの中にあるので、なんならジャンル分けでもして保存も出来るな、きっとそんなに沢山はレコードをデジタル化しなくてもいいと思ってるので、いまのままでも困らないかな。
Macの内部音源も出力デバイスをAG03にするだけでどんどん活用できちゃうので、オシロスコープだけでなく色々な事ができるはず。
もっと具体的に、とも思ったのですが、あとはAIさんと上手にお付き合いして気持ちを伝えられたら、思いつくことは概ね実現できちゃうと思うので、今回はこのくらいにしますね。
【1】 どんどん思いついたことを試そう
【2】結果を検索AIに渡すとさらに高品質化しがち
【3】出来ることが一気に増え始めた
【4】AIさんが自分の一部になり始めたのかも、、、とかね

そうそう、本来の目的、CA800IIの健康管理。
ここ2ヶ月ほどちょくちょく電源が入るからか、いつのまにか妙なガリやスイッチノイズも気にならなくなってきた。色々な定常波などはyoutubeあたりからたくさん発掘できるのでそれで試してみたら、私の耳の限界を超えた低周波からそこそこ高い周波数まで綺麗に波形が出てくる。どの帯域もしっかりピークメーターがスムーズに伸びていくから、きっと概ね健康体が維持できていそう。
今の状態からどう変化していくのか、それを確認していくのもまた楽しいはす。


それにしてもAIさん、無料の範囲で凄すぎ。
情報の時間軸や条件範囲の設定が曖昧なままで相談すると、なんの話なのそれ?全然違うよ、ってなりがちだけど、嘘をついているわけではないはず。ヒトの側の質問や依頼の曖昧さが根本的な原因になっているので、しっかりと条件設定などしながら付き合っていくと、良いことがたくさん起こるよ。
