

Spresenseにてハイレゾの録音をしたいと考えております。

・192kHz/24bitでの録音で80kHzまでの周波数を取得したい

物品構成  
・Spresenseメインボード＋拡張ボード  
・MEMSアナログマイク（↓の商品）  
<https://www.switch-science.com/products/5462>

スケッチ例のrecorder.wavを一部変更したのですが  
SDカードに出力されるsound.wavが上手くファイル出力されません（容量1KB）  
スケッチを変更せず動作させるとsound.wavは正常に出力されます  
（容量1.8MB）

recorder.wav内のtheAudio->setRecorderModeを  
バッファサイズをドキュメント通り500kbでspresenseメモリ1028kbにしたのですが、やはりハイレゾではうまく出力されず、考えられる原因をご教示いただけますと幸いです。

変更点

[code]

    /*static const uint32_t recoding_sampling_rate = 48000;*/
    static const uint32_t recoding_sampling_rate = 192000;
    
[/code]

[code]

    /*static const uint8_t recoding_bit_length = 16;*/
    static const uint8_t recoding_bit_length = 24;
    
[/code]

[code]

    theAudio->initRecorder(AS_CODECTYPE_WAV,
    "/mnt/sd0/BIN",
    /*recoding_sampling_rate,
    recoding_bit_length,
    recoding_cannel_number*/
    AS_SAMPLINGRATE_192000,
    AS_BITLENGTH_24,
    AS_CHANNEL_MONO);
    puts("Init Recorder!");
    
[/code]

[code]

    /*theAudio->setRecorderMode(AS_SETRECDR_STS_INPUTDEVICE_MIC);*/
    theAudio->setRecorderMode(AS_SETRECDR_STS_INPUTDEVICE_MIC,(500*1028));　// ←変更してもダメでした
    
[/code]


CC BY-SA 4.0
2023-02-09T23:02:09.403
93783
2023-02-10T04:09:02.993
2023-02-10T04:09:02.993
3060
56255
question
spresense
spresenseハイレゾ録音について


> SDカードに出力されるsound.wavが上手くファイル出力されません（容量1KB）

の情報が少なく何か起こっているのかわからないですが、エラーなどが出ているのであれば、  
そちらを添付してもらうと何かわかるかもしれません。

ただ、1点、ハイレゾで録音する場合、以下の一行の追加必要です。

theAudio->begin(audio_attention_cb);

の後ろに

/* Set clock mode to Hi-Res */  
theAudio->setRenderingClockMode(AS_CLKMODE_HIRES);

がないと、  
エラーコード：0x14

<https://developer.sony.com/develop/spresense/docs/arduino_developer_guide_ja.html#_as_ecode_command_param_sampling_rate>

が発生し、正しく録音ができないようです。

また、それでも録音に失敗する場合は、SDカードを以下のSDカードフォーマッターでフォーマットしてみると解決する可能性があります。

<https://www.sdcard.org/ja/downloads-2/formatter-2/>


CC BY-SA 4.0
2023-02-10T02:00:33.183
93784
2023-02-10T02:00:33.183
32281
93783
answer