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.mp3、03.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); myFile = theSD.open("AUDIO/192.wav"); |
96/192kHz/24ビットのwavファイルは、e-onkyoの無料ハイレゾ・サンプルをダウンロードして利用しました。