質問: Spresenseとアナログマイク4CHを用いて、音声を30秒ごとに録音するプログラムを作成しました。 プログラムのベースは以下の「Spresense Arduino チュートリアル」にある「WAV 形式で録音する」で、これを30秒録音するごとにファイル名を変えることで、延々と録音するように変更したものです。 これを実行したところ、まれ(1時間に1回程度)に録音が以下のメッセージをして失敗する現象が発生します。 ``` Attention: module[4][0] attention id[1]/code[6] (objects/media_recorder/audio_recorder_sink.cpp L84) ``` この原因と対処方法について考えられることがあれば、アドバイスいただけないでしょうか。
回答: SDカードはメーカ、使用状況などで書き込み速度が極端に遅くなる時があるようです。 自分の時も、特に、細かいファイルを書き込み、削除などを繰り返していると、 中途半端に書き込まれたセクタなどが多く存在してかなり書き込みが遅くなっていました。 書き込みが遅くなったSDカードを使うとこのエラーが出るようです。 このようなときは、クイックフォーマットでは改善されず、SD Associationにある、 SDメモリカードフォーマッターで物理フォーマットすると改善されました。 また、メーカにもかなり依存するようです。 東芝製かソニー製だとエラーの確率が低く、 Amazonで売っている安いSanDisk(偽物?)は全然ダメでした。 ご参考になれば。