NanoPi NEO2にDACを接続

NanoPi NEO2は超小型シングルボードコンピューターとしてはかなり性能高め。でも、それはそれで使い途が中途半端で困る。 あまりに軽いことしかさせないのはモッタイナイし、省電力を活かしたインターネット向けのサーバーにしようとするとメモリが圧倒的に足りないのと流石に処理力不足。ディスプレイ出力が付いていないのでそのままでは単独で持ち出して遊ぶわけにもいかないし、どうしようかなという感じ。

先日RaspberryPi Zero WにDACを付けてみたけど、NanoPi NEO2にもDACを付けて試してみた。

NanoPi NEO2にDACを接続 1
接続用のピンの対応はこんな感じで良いはず。NanoPi NEOでは12ピン1列用の穴のある側にI2Sがある。前回と同じくDACのチップがPCM5102Aなのでマスタークロックは無しで良い。

NanoPi NEO2にDACを接続 2
NanoPi NEO2にはこれまでピンヘッダを付けていなかったけど、今回12ピン1列の方にだけピンヘッダを取り付けた。ハンダ付けは12箇所で終わりなので目の弱ったオッサンにとってはありがたい。Nanopi NEO/NEO2用の大きめな純正ヒートシンクを付けている場合でもヒートシンクは取り外さずにハンダ付けできる。2列側は目が良くてハンダ付け上手な人でないとヒートシンク付けたままの作業は無理かな?

NanoPi NEO2にDACを接続 3
ひっくり返して手前側の12本のピンヘッダが今回取り付けたもの。

NanoPi NEO2にDACを接続 4
接続するジャンパ線は5本だけなのであっという間で繋げる。

NanoPi NEO2にDACを接続 5
電源を入れてみた。写真だと全然そう見えないけどNanoPi NEO2の青いLEDが凄い眩しいの。(NanoPi NEO2の青色LEDの消し方)

DACを繋いだのはいいけど、音を鳴らすためのソフトウエア側も用意しないと。

NanoPi NEO/NEO2用の音楽プレーヤーの記事を追加しました。
NanoPi NEO2 + DACで音楽プレーヤーVolumioを使う

関連記事:

Raspberry Pi Zero W + volumioでもう少し遊ぶ

Volumioは他の多くのRaspberryPi用のメディアプレーヤー同様にLinuxの上でmpdを動かしている。で、GUIだけでは得られる情報が少ないし弄ることもできないので一応SSHでCLIにログインできるようになっている。
ブラウザでvolumioを開き、URLに/devを指定してデベロッパー用のページを開く。

volumioのデベロッパー用ページを開く
SSHの[ENABLE]を押す。再起動など無しですぐにSSHが有効になる。一応、用が済んだらすぐに[DISABLE]で無効化させるのが良さげ。

SSHログイン用アカウント: volumio
SSHログイン用パスワード: volumio   (SSH用はvolumio2じゃないので注意)

foobar@hoge-pc:~> ssh volumio@192.168.52.112
The authenticity of host '192.168.52.112 (192.168.52.112)' can't be established.
ECDSA key fingerprint is SHA256:RWoRfXLU1eb2k00himitsu00LXBx214inTLjYEj4grM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.52.112' (ECDSA) to the list of known hosts.
volumio@192.168.52.112's password: volumio
                       ___                                      
                      /\_ \                        __           
         __  __    ___\//\ \    __  __    ___ ___ /\_\    ___   
        /\ \/\ \  / __`\\ \ \  /\ \/\ \ /' __` __`\/\ \  / __`\ 
        \ \ \_/ |/\ \L\ \\_\ \_\ \ \_\ \/\ \/\ \/\ \ \ \/\ \L\ \
         \ \___/ \ \____//\____\\ \____/\ \_\ \_\ \_\ \_\ \____/
          \/__/   \/___/ \/____/ \/___/  \/_/\/_/\/_/\/_/\/___/ 
        
             Free Audiophile Linux Music Player - Version 2.0

          C 2015 Michelangelo Guarise - Volumio Team - Volumio.org
                               

Volumio Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

volumio@volumio:~$ cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 192000 (192000/1)
period_size: 16384
buffer_size: 65536
volumio@volumio:~$

たとえば、楽曲の再生中の状態を見ると上の様に表示される。
いろんなタイプの音源ファイルを再生して試してみた。

192kHz超えを再生
ミキサータイプが「ソフトウエア」になっている状態で192kHzを超える音源ファイルを再生しようとするとエラーが出て再生できないのでNoneに切り替えて実行した。
accessはミキサーがソフトウエアボリュームではMMAP_INTERLEAVED、None(無し)だとRW_INTERLEAVED。

レート別一覧
上の表は試したものだけ。空白の項目は試せていないだけで再生できないということではない。
16bit音源ではS16_LE、24bit,32bit音源ではS32_LEフォーマットが使用される。
rateは192kHzまではそのまま対応、192kHzを超えるものは192000bit/s固定(上限)になる。
period_sizeとbuffer_sizeは最大が16bitでは24000と96000、24bit,32bitでは16384と何故か16bitのときの方が大きい。

192kHzまではRaspberry Pi Zero Wでもvolumioで普通に再生できるけど、それを超えるとブッチブチに途切れて全く音楽として聞こえない。また、Raspberry PiのI2Sの上限がそもそも192kHzらしい。192kHzオーバーの楽曲ファイルはまず見かけなし、聞き分けられる人も殆どいないだろうから再生できなくて全く構わないんだけど、それがRaspberry Piのハードウエアの限界ですってなるともうちょっと頑張って欲しかったかなぁ。

関連記事:
Up