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現在、ハイレゾの設定などの解説は、

https://developer.sony.com/ja/develop/spresense/developer-tools/get-started-using-arduino-ide/developer-guide

で読めますが、V1.1.0かそれより前のころの解説と思われます。

前へ

SpresenseでLチカから始める (27) Wireライブラリ 温度気圧DPS310

次へ

ESP32入門 通信機能が標準搭載されたマイコン・ボード (3) サンプル・プログラムを用いてWi-Fi経由でLEDのON/OFFを行う