SPRESENSEでハイレゾ録音対決!
SPRESENSEでいよいよハイレゾ録音にチャレンジします。ここでハイレゾの定義を振り返ってみます。
ハイレゾの定義は JEITAで決められており、CD音質以上のものはハイレゾオーディオとなっています。以下抜粋です。
ですので、SPRESENSEで録音できる 48kHz/24bit が最低限のハイレゾで、192kHz/24bit が最高音質のハイレゾになります。
今回、この二つを比較してみました。お時間のあるかたはこちらの動画をどうぞ。
最初に、ハイレゾ録音するための前準備をします。SPRESENSEは WAVフォーマットでハイレゾ録音ができます。そのエンコーダである「SRCエンコーダ」をインストールします。
「dsp_installer」から「src_installer」を選択・実行してお使いのSDカードにインストールしてください。

いよいよ、ハイレゾ録音します。最初に 48kHz/24bit で録音をしてみましょう。「application」から「recorder_wav」を選択します。

A/Dの解像度を24bitに設定し、マイクは一つなのでMONOに変更します。録音したデータをグラフ化してみました。

さて、次に192kHz/24bit で録音をしてみましょう。同じく「recorder_wav」を開きます。

192kHzで録音するには、クロックを変更しなければならないことに注意してください。setRenoderingClockMode という関数で設定を変更できます。
あとは、サンプリングレートを48kHzから192kHzに変更し、同じく解像度を24bit、チャンネルはMONOに変更します。同じように、録音したデータをグラフ化してみます。

明らかに違いますね。両方を並べてみました。

192kHz/24bit 恐るべしです。録音した音を Githubに置きました。(通常の音楽配信サービスだと再エンコーディングされてしまうので)実際に聞き比べてみてください。
https://github.com/YoshinoTaro/resources/tree/master/HiResoSoundRecordedBySpresense
48kHz/24bit の音は少しこもったように聞こえますが、192kHz/24bit はかなりクリアに聞こえます。やはりハイレゾはすごいですね。「CD音質==高音質」というのは、もう過去のものです!
(^^)/~



ハイレゾの定義は JEITAで決められており、CD音質以上のものはハイレゾオーディオとなっています。以下抜粋です。
48kHz/24bit →(CD スペック同等/CD スペック超)→ ハイレゾオーディオ
96kHz/16bit →(CD スペック超/CD スペック同等)→ ハイレゾオーディオ
96kHz/24bit →(CD スペック超/CD スペック超) → ハイレゾオーディオ
48kHz/16bit →(CD スペック同等/CD スペック同等)→ 非該当
96kHz/12bit →(CD スペック超/CD スペック未満)→ 非該当
32kHz/24bit →(CD スペック未満/CD スペック超)→ 非該当
ですので、SPRESENSEで録音できる 48kHz/24bit が最低限のハイレゾで、192kHz/24bit が最高音質のハイレゾになります。
今回、この二つを比較してみました。お時間のあるかたはこちらの動画をどうぞ。
最初に、ハイレゾ録音するための前準備をします。SPRESENSEは WAVフォーマットでハイレゾ録音ができます。そのエンコーダである「SRCエンコーダ」をインストールします。
「dsp_installer」から「src_installer」を選択・実行してお使いのSDカードにインストールしてください。

いよいよ、ハイレゾ録音します。最初に 48kHz/24bit で録音をしてみましょう。「application」から「recorder_wav」を選択します。

A/Dの解像度を24bitに設定し、マイクは一つなのでMONOに変更します。録音したデータをグラフ化してみました。

さて、次に192kHz/24bit で録音をしてみましょう。同じく「recorder_wav」を開きます。

192kHzで録音するには、クロックを変更しなければならないことに注意してください。setRenoderingClockMode という関数で設定を変更できます。
あとは、サンプリングレートを48kHzから192kHzに変更し、同じく解像度を24bit、チャンネルはMONOに変更します。同じように、録音したデータをグラフ化してみます。

明らかに違いますね。両方を並べてみました。

192kHz/24bit 恐るべしです。録音した音を Githubに置きました。(通常の音楽配信サービスだと再エンコーディングされてしまうので)実際に聞き比べてみてください。
https://github.com/YoshinoTaro/resources/tree/master/HiResoSoundRecordedBySpresense
48kHz/24bit の音は少しこもったように聞こえますが、192kHz/24bit はかなりクリアに聞こえます。やはりハイレゾはすごいですね。「CD音質==高音質」というのは、もう過去のものです!
(^^)/~

SONY SPRESENSE メインボード CXD5602PWBMAIN1
- 出版社/メーカー: スプレッセンス(Spresense)
- メディア: Tools & Hardware

SONY SPRESENSE 拡張ボード CXD5602PWBEXT1
- 出版社/メーカー: スプレッセンス(Spresense)
- メディア: Tools & Hardware

SPRESENSEではじめるローパワーエッジAI (Make: PROJECTS)
- 出版社/メーカー: オライリージャパン
- 発売日: 2022/02/28
- メディア: 単行本(ソフトカバー)
この記事へのコメント
記事のSpresenseハイレゾ録音について質問させていただけますでしょうか?
同様にSpresenseでハイレゾの録音をしたいと考えております。
・192kHz/24bitでの録音
スケッチ例のrecorder.wavを一部変更したのですが
SDカードに出力されるsound.wavが上手くファイル出力されません(容量1KB)
スケッチを変更せず動作させるとsound.wavは正常に出力されます
(容量1.8MB)
theAudio->setRecorderModeもバッファサイズをドキュメント通り500kbでspresenseメモリ1028kbにしたのですが、やはりハイレゾではうまく出力されず、考えられる原因をご教示いただけますと幸いです。
変更点
/*static const uint32_t recoding_sampling_rate = 48000;*/
static const uint32_t recoding_sampling_rate = 192000;
/*static const uint8_t recoding_bit_length = 16;*/
static const uint8_t recoding_bit_length = 24;
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!");
/*theAudio->setRecorderMode(AS_SETRECDR_STS_INPUTDEVICE_MIC);*/
theAudio->setRecorderMode(AS_SETRECDR_STS_INPUTDEVICE_MIC,(500*1028)); ←変更してもダメでした
ありがとうございました。