YM2151シールドにmicroSDスロットを追加して、SDからvgmファイルのデータを直接読み取って演奏できるようにしてみた。シールド2段の親亀子亀孫亀状態wwArduino UNO R3はRAMが少なくてデータを一度にRAMに読み込めないので、SDから都度1バイトずつ読みながらYM2151に送っているんだけど、遅延なく演奏できているっぽいのが意外だった。あとは、SD内のファイル一覧を取って、順に演奏していけるようにすればほぼ完成かな…
#Arduino UNOからSPIでSDカードにアクセスすると、メモリを結構消費するのか、一定回数以上アクセスするとファイルが取り出せなかったり、オープンに失敗したりする。なのでSDの容量に関わらず認識できる楽曲数がかなり限られそう。30曲くらいでも不安定な感じ。
制御するファイルを25曲にして、ロードテスト(全曲ループ再生するので、ずっと流しっぱなしにしてみている)をやっている。4周目(約100曲分)でもそのまま動いているので、メモリの制約的にはこれくらいが適正なのかな?
様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。