SPRESENSEでシンセサイザー(習作)前編・先ずSDカードを認識させよう
SPRESENSEでシンセサイザーを作りたい!
あのSONYが作るSPRESENSEなら、やっぱり音楽。
シンセサイザーメーカーではないけれど、やれば出来るっしょ。
ということで、SPRESENSE シンセサイザーで検索してみると。
makers-with-myson.blog.ss-blog.jp
おおおおおお!!!!!!!!!!!!!これこれ。
デモ演奏もかなりグッとくるサウンド。もしや内部生成?ん、MP3を使う
ダブルプレイヤー機能かな。録音機能も優れているから、これ応用したらサンプラーにもなりそうね。とにかく楽しげなので作ってみよう。Githubもあるし。
さらに検索。
おおおおおお!!!!!!!!!!!!!こちらは内部生成したりいろいろしてる。
こちらは工作不要なので、まずこちらから試してみる。
必要なのは
- PRESENSEメインボード、
- 拡張ボード、
- USBケーブル、
- ステレオヘッドホン(ミニプラグ)、
- microSDカード。
ArduinoIDE等の準備に加えて、DSPコーデックをSDカードにインストール。
DSPコーデック、内臓SPIフラッシュにも書き込めるみたいだけど、やっぱり処理速度変わるのかな。低レイテンシが必要なエフェクター等に応用する時は比較検討してみよう。
ではFMシンセから作ってみる。その前に・・・
SDカードの読み書き、認識が出来るようにしよう
まずSDカードが認識できるようにしないと始まらない。以下の作業で、PCから読み書きできるようになる・・・のか?
Spresense Arduino IDE デベロッパーガイド - Sony Developer World
eMMC ライブラリは eMMC Add-on ボード (今後発売予定) の eMMC デバイスにアクセスするためのライブラリです。
eMMC ライブラリは、Arduino SD ライブラリ に類似した API 構成となっており、オブジェクト名を SD から eMMC へ置き換えることで、SD ライブラリと同じインターフェースを用いて eMMC デバイスへアクセスすることができます。
なるほど、分からん(笑)多分早い話、これを入れればSPRESENSEをSDカードリーダーとしてもつかえるようになるってことよ。知らんけど。(のちに間違いに気付く)
うん、良いサンプルがある
一通り試してみる。ArduinoIDEを立ち上げる。
USBはどっちにつけるんだ。とりあえず拡張ボードではなくメインボードに挿す。
フォーマットサンプルを新規スケッチにコピペ。コンパイル。ボードに書き込み。
書き込み成功。リブートされた。さて・・・
フォーマットサンプル。出来てるのか?PCからは見えない。
読み書きサンプル。よく分からん。
USB MSC 機能のサンプル。eMMC デバイスが PC 上のドライブとしてマウントされ、PC から eMMC デバイスに直接アクセスすることができ・・・おお、これだこれ。
いや、変わらん。
最後のサンプル・・・USB MSC 機能とファイル操作を組み合わせた複合アプリケーション
ここで気付く。いや、SDカード関係ないよね?「SD ライブラリと同じインターフェースを用いて」つまりSDとは違うって意味だ(笑)
物理的問題があるかも知れない?
検索してみよ。よし、これだ
spresense - SPRESENSEに接続したSDカードが認識できない - スタック・オーバーフロー
結論。メインボードを拡張ボードに強く押し込め。ほんまかいな。
絶縁袋に包んで、ギュッと押す。「カチッ!」めっちゃいい音するやん。気持ちいいやん。間違いない、挿せてなかったねコレ・・・
何しろこのコネクタ、小さい癖に100Pだものね。しかし・・・
やっぱダメか・・・もう一回ライブラリを探そう。
SDのための正しいライブラリを発見
「SDHCI ライブラリは Spresense 拡張ボードにある micro SD にアクセスするためのライブラリです」・・・これだよこれ、なにやってんだもう・・・
こっちのSDHCI ライブラリにある3 つのスケッチのサンプルを全て書き込み。
Spresense Arduino IDE デベロッパーガイド - Sony Developer World
これでダメならもうダメよダメダメ。ダメなのよ・・・(懐
動かない。SD読めない。あ、メインボードにUSB挿したままか。これを拡張ボードに変えると?認識した!
ふぅ~・・・。SDカード認識させるだけでこんなことに(笑)
何はともあれ大成功!やったぜ。
次はちゃんと自動演奏まで行きたい。ではまた。
今回のまとめ
SPRESENSEにSDカードを認識させPCからも読み書きできるようにするには
- 拡張ボードにメインボードをしっかり挿す(カチッて鳴る)
- SDHCIライブラリのサンプルスケッチをボードに書き込む
- ボードへの書き込み時はメインボードにUSBケーブルを挿す
- SDカードへのアクセスは拡張ボードのUSBポートを使う