SpresenseでLチカから始める (7) ハイレゾの再生

 サンプルのpalyerはスピーカ(ヘッドホン端子)から音楽データを再生します。デコードできるのは、次の四種類です。

  • MP3
  • WAV
  • AAC
  • OPUS

 MP3とWAVは再生できました。AACはiTunesに入っていたロスレスm4aはエラーにはなりませんでしたが、音は出ませんでした。OPUSはテストしていません。

準備

 SDメモリにデコード・ソフトと音楽データを入れます。fat32のフォーマットが必要ですが、最も一般的なので、購入時のままで再フォーマットは不要です。フォルダの構成です。

  • /AUDIO
  • /BIN

 AUDIOフォルダの中に音楽データを入れます。BINフォルダの中にMP3とWAVのデコード・ソフトを入れます。二通りの方法があります。Arduino IDEからサンプルの中にあるスケッチを動かします。

  • mp3_dec_installer(ファイル名はMP3DEC)
  • wav_dec_installer(ファイル名はWAVDEC)

 もう一つの方法は、Spresense SDKをubuntuが動作しているマシンにインストールしたら、home/ユーザ/spresense/sdk/modules/audio/dsp/フォルダに入っているので、SDメモリ・リーダ・ライタをUSBケーブルでつないでコピーします。

 SDメモリは、ファイル・システム上/mnt/sd0/AUDIOと/mnt/sd0/BINにマウントされます。

 なお、メイン・ボードを拡張ボードにセットするときに、四方のピンがロックするカチっという音以外に、中央付近を押し、裏面のコネクタが完全に挿し込まれる音を確認します。

 音楽データは、Windows上でSound.mp303.wav(48kHz/24ビット)、192.wav(192kHz/24ビット)の三つのファイルをSDメモリのAUDIOフォルダにコピーします。

mp3の音出し

 サンプルのplayerを利用します。1行変更します。mp3のファイル名は何でもかまいませんが、ここではデフォルトのSound.mp3とし、フォルダ名を追加しました。

myFile = theSD.open("AUDIO/Sound.mp3");

 ボードへの書き込みが終了したら、シリアルモニタを開きます。

48kHz/24ビットwavデータの音出し

 サンプルのplayerを利用します。2行変更します。wavのファイル名は何でもかまいませんが、ここでは03.wavとしました。AS_BITLENGTH_24は24ビットに変更するための追加です。

theAudio->initPlayer(AudioClass::Player0, AS_CODECTYPE_WAV, "/mnt/sd0/BIN", AS_SAMPLINGRATE_48000,AS_BITLENGTH_24,AS_CHANNEL_STEREO);

myFile = theSD.open("AUDIO/03.wav");

192kHz/24ビットwavデータの音出し

 96kHzデータは何度か挑戦しましたが、再生できていません。

 サンプルのplayerを利用します。3行変更します。wavのファイル名は何でもかまいませんが、ここでは192.wavとしました。

theAudio->setRenderingClockMode(AS_CLKMODE_HIRES);

theAudio->initPlayer(AudioClass::Player0, AS_CODECTYPE_WAV, "/mnt/sd0/BIN", AS_SAMPLINGRATE_192000,AS_BITLENGTH_24,AS_CHANNEL_STEREO);

myFile = theSD.open("AUDIO/192.wav");

 96/192kHz/24ビットのwavファイルは、e-onkyoの無料ハイレゾ・サンプルをダウンロードして利用しました。

前へ

M-DUINO PLCで始めるArduino (1) PLCとしては使わない

次へ

A-Dコンバータ その8 24ビットSPI ADS1220