FDDを頑張って楽器にした その1
あけましておめでとうございます。
新年一発目、そしてこのブログ最初の記事はFDDの改造でございます。
導入
皆様恐らく1度はFDD(フロッピーディスクドライブ)で音楽を奏でる動画を見たことがあるのではないでしょうか。
え、ない?フロッピーを見たことない?そもそもフロッピーを知らない?
恐らくそういう方はこの記事にたどり着かないのでそこの解説はしません。
話を戻しまして。我が家にはFDDが3台あります。USB接続のやつ2台と内蔵3.5inchが1台。USB接続のものは現代のPCでも使えるのですが、内臓は端子が違ったりで手間がかかる……。
なら楽器にしたほうが楽しい、そういうことで楽器化することを決断しました。
Moppyを使おうとした
FDD演奏をするにあたって、まず最初にググったところ、このような記事がヒットしました。
ちょっとまって!そのFDD、捨てないで演奏してみませんか?
この記事によると、MoppyというFDD演奏に便利なツールがあるようです。早速実践しました。
……結果は失敗。謎の「コッ」という音が鳴るだけで、全く期待通りに動いてくれませんでした。
この時点でなかなかややこしいことになるのは確定してしまいました。でも半ば演奏のために買ったFDDをそのまま放置するのも悲しいので、次のステージに移動することに。
ツール自作
ネットに転がってるツールがだめなら自分で作ればいいじゃない。というわけでツールを自作しました。
満足いくレベルに到達したら公開します。
ツールの話の前に、ハード的な面のお話を。
ハード面
今回私が調達したFDDは、YD-702D(YE-DATA製)というドライブ。玄人志向ブランドであったため、箱には例のおじさんが。「BBS」という現代ではあまり聞かないワードもパッケージに書かれていて、当時を知らない身としては逆に新鮮でした。
とりあえず型番で検索。取説的なものが出てきたので、先ほどのqiita記事と照らし合わせつつ、どのピンが演奏に必要なのか確かめました。
調べた結果、ピンのつなぎ方などはqiita記事のままで正解でした。
取説には17/18ピンが「DIRECTION SELECT」、19/20ピンが「STEP」と記載が。
DIRECTION SELECT、つまり方向選択ピンは以下の通り:
| "HIGH"レベル | アウト方向(ディスクの外側方向) |
| "LOW"レベル | イン方向(ディスクの内側方向) |
なるほどね。このピンを使ってヘッドの往復をさせるわけだ。
STEPピンに関しては単純で。
ピンに流れている信号がHIGH→LOWと変化したタイミングで、DIRECTION SELECTで選択した方向に1ステップ分ヘッドを動かすらしい。
あと、qiita記事内でショートさせているピンは、FDDを有効にするやつらしい。とりあえずつないでおく。
一通りハード面は理解したつもりなので、ソフト的なこともやります。
ソフト面
ソフト的な面は簡単です。なんてったって現代はAIがありますからね。
適当に.pyファイルを作って、AIに言われたライブラリをpip installして、コードをコピペするだけ。あとは定数をちょこちょこいじってPC側は終わり。
Arduino側もそう大変じゃない。PCから送られてきたserialを読んで、その周波数を元にパルスをFDDに送るだけ。あとはパルスを送った回数を数えて、可動域の限界に達する前に折り返させる程度の処理を組んでおきました。
先ほども言いましたが、この辺の処理が煮詰まったら公開する予定でございます。Moppyがうまく動作しなくてお困りの方はご利用ください(?)
ここまで来たら後は実演するだけ。
実演
感想
いかがでしょうか。音源はMoppyに付属してたサンプルMIDIの、メインっぽい旋律を取り出したものです。
このFDDが悪いのか、制御が悪いのかわかりませんが、他のFDD演奏動画で聞くようなきれいな音ではありません。でもまあ、一応わかる程度の音ではあるので満足。
将来的には6台ぐらいでFDD重奏をやりたいですね。内蔵FDDってドフにも転がってないし、どこで入手するんだろう……。
少し古いPCパーツは、素人でも変なことできて楽しいですね。今時のパーツはどれも改造する難易度が高そう。あとそもそも稼働部品が少なくて音が出ない。
故障率が減ってうれしいのか、ロマンがなくなって悲しいのかわかりません。
煮詰めたらまた記事を書きます。乞うご期待。
2026/1/3 hasky