

**実現したいこと**

「8chデジタルマイクをSony Spresenseに接続し、  
Audio ライブラリでハイレゾ帯域（20KHz以上）の音を192KHzサンプリングで録音し、  
wav形式ファイルとしてSDカードに保存」

上記実現のためのステップ１として、以下は成功してます。

「ひとつのアナログマイクを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で再生した時のエラーメッセージです。

> ”ファイルを再生できません。プレーヤーがそのファイルの種類をサポートしていないか、  
>  そのファイルの圧縮に使用したコーデックをサポートしていない可能性があります。”

ここでのコードは、上記スケッチサンプルから、  
再生コンテンツのコーデックの種別設定を変更しています。  
変更したコードの行は以下になります。

[code]

    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);
    
[/code]

**質問**

  * wav録音するための、スケッチサンプルの変更箇所
  * デジタルマイク入力のゲインを調整するAudio ライブラリ
  * また、以下が少し気になります。対処方法ありますでしょうか。  
Spresenseへのコード書き込みのたびに、Arduino IDE のメッセージエリアに  
”ボードへの書き込みが完了しました”  
とは表示されますが、テキストエリアに下記のワーニングが随時2行表示されます。  
'Invalid version found: v1.0.2'


CC BY-SA 4.0
2018-08-08T06:03:40.403
47343
2018-11-14T14:02:25.477
2018-09-01T13:31:04.503
19110
29647
question
arduino spresense
Spresense Arduino Library サンプルコードを元にしたwav形式のハイレゾオーディオ録音


# wavefileの破損について

変更後のプログラムのソースコードやwavefileのファイルサイズ、ヘッダ部のhexdumpなど、もう少し情報がほしいですね。  
きちんとファイルは閉じましたか？ 閉じない場合ファイルが破損する可能性があります。

# 余談

回答になってないかもしれませんが、spresenseはArduinoの開発はやる気がないみたいなのでSpresense
SDKを用いた開発のほうがいいと思います。


CC BY-SA 4.0
2018-08-10T22:13:39.307
47431
2018-09-01T19:18:09.863
2018-09-01T19:18:09.863
19110
47343
answer