Spresense Arduino Library サンプルコードを元にしたwav形式のハイレゾオーディオ録音
実現したいこと
「8chデジタルマイクをSony Spresenseに接続し、
Audio ライブラリでハイレゾ帯域(20KHz以上)の音を192KHzサンプリングで録音し、
wav形式ファイルとしてSDカードに保存」
上記実現のためのステップ1として、以下は成功してます。
「ひとつのアナログマイクをSony Spresenseに接続し、
可聴音(20KHz以下)の音を48KHzサンプリングで録音し、
mp3形式ファイルとしてSDカードに保存」
Spresense Arduino Library 開発ガイドの手順通り、DSP Codec バイナリのインストールを行い、スケッチサンプルを入手してDSP ファイルがインストールされた場所の変更のみを行っています。
ここで入手したスケッチサンプルというのは以下です。
https://github.com/sonydevworld/spresense-arduino-compatible/tree/master/Arduino15/packages/SPRESENSE/hardware/spresense/1.0.0/libraries/Audio/examples/application/recorder
実現したいことに向けて、次のステップ2がうまくいきません。
「ひとつのアナログマイクをSony Spresenseに接続し、
可聴音(20KHz以下)の音を48KHzサンプリングで録音し、
wav形式ファイルとしてSDカードに保存」
録音実行はエラーコードも出ずに終了してwavファイルが出来上がるのですが、再生ができません。
以下はwindows Media Playerで再生した時のエラーメッセージです。
”ファイルを再生できません。プレーヤーがそのファイルの種類をサポートしていないか、
そのファイルの圧縮に使用したコーデックをサポートしていない可能性があります。”
ここでのコードは、上記スケッチサンプルから、
再生コンテンツのコーデックの種別設定を変更しています。
変更したコードの行は以下になります。
theAudio->setRecorderMode(AS_SETRECDR_STS_INPUTDEVICE_MIC_A);
theAudio->initRecorder(AS_CODECTYPE_PCM,"/mnt/spif/BIN",AS_SAMPLINGRATE_48000,AS_CHANNEL_MONO);
puts("Init Recorder!");
myFile = theSD.open("test.wav", FILE_WRITE);
質問
- wav録音するための、スケッチサンプルの変更箇所
- デジタルマイク入力のゲインを調整するAudio ライブラリ
- また、以下が少し気になります。対処方法ありますでしょうか。
Spresenseへのコード書き込みのたびに、Arduino IDE のメッセージエリアに
”ボードへの書き込みが完了しました”
とは表示されますが、テキストエリアに下記のワーニングが随時2行表示されます。
'Invalid version found: v1.0.2'