SpresenseでLチカから始める (28) ハイレゾの再生V1.1.2
連載の第7回でハイレゾの再生をしました。Arduino IDE 1.0.xでした。2018年12月現在、1.1.2に更新されています。1.1.0でいくつかの変更が行われ、スピーカからの音量が低くなったのは1.1.1で修正が行われました。
●スピーカから音を出す設定
マニュアルにあるように、物理的にはんだ付けが必要です。一つはSP端子の接続です。もう一つは、ヘッドホン専用になっている出力フィルタを、スピーカ用に変更します。
SP端子は2.54mmピッチのスルーホールが四つ空いているので、JP8/JP9に一般的なピンヘッダもしくはコネクタを取り付けます。
困難なのは、出力フィルタのCRの撤去とLCの取り付けです。このような作業に慣れた方であれば、実体顕微鏡を利用して作業ができると思われますが、ふつうは無理です。回路図を見て、とりあえず470Ω抵抗を外し、その部分をショートすると音量が得られると推測しました。Cはスピーカの場合容量を増やすように指定されているので、そのままにします。
具体的な作業では、抵抗を外さず、ショートします。抵抗の両端の部分に少しはんだを盛ります。スズメッキ線もしくははんだメッキ線を押し当ててショートします。ここでは0.3mmを使いましたが、もっと細いほうがやりやすいです。
JSTの4ピン・コネクタをはんだ付けします。
コネクタとスピーカの接続部分です。
スピーカはAltecの400Bを小さな自作の箱に入れています。
●スケッチの変更
1.1.0の時代から比べるとコメントが増え、ハイレゾ用のスケッチplayer_hiresが提供されています。初期のころは48kHz/24ビットと192kHz/24ビットだけの対応だったのが、現在は96kHz/24ビットのwav音源も再生できます。
デコーダはSDメモリのBINフォルダに入れておきます。このためのスケッチはdsp_installerのwav_dec_installerです。これを読み込んで実行し、マイコンへの書き込みが完了したら、シリアルモニタを開き、ボーレートを115200bpsに変更します。どこに書き込むかというメッセージが出ているので、SDメモリの「1」を上部にある送信エリアに入力し、送信ボタンをクリックすると、すぐに完了と表示されます。
音源を用意します。PCで、SDメモリのルートに96.wavというファイル名で96kHz/24ビットの音源をコピーしました。
myFile = theSD.open("96.wav");
出力の設定のところで、, AS_SP_DRV_MODE_1DRIVERを追加します。
theAudio->setPlayerMode(AS_SETPLAYER_OUTPUTDEVICE_SPHP, AS_SP_DRV_MODE_1DRIVER);
音量を上げます。デフォルトが-160で0が最大です。0を指定すると、そこそこ大音量になります。けれど、1Wは出ていない印象です。
/* Main volume set to -16.0 dB */
theAudio->setVolume(-50);
修正は以上です。
(※)2018/12/22現在、ハイレゾの設定などの解説は、
で読めますが、V1.1.0かそれより前のころの解説と思われます。