upnprenderer(upmpdcli mpd)をつくった。 - takobozu/NanoPi-NEO2 GitHub Wiki
概要
今までcifsmpd,sshfsmpdなど色々作ってきたが、そこで体験してきたものを活かしたupnprendererを作った。ここに置いておく。最初に作ったNanoPi-NEO2を2枚使ってupmpdcliとmpdをそれぞれに分離したものとは違い、1枚のNanoPi-NEO2にupmpdcliとmpdを同居させて単体で音楽再生ができる。NASにある音楽再生がメインだが、インターネットラジオも聴ける。電源はlightmpdと同じでぶち切りしても大丈夫なので、電源瞬断でソフトウエアシステムが壊れるようなことはない。これが完全にメモリ上で動くシステムの強みでもある。cpu clock Timer frequencyも抑えてあるため無駄なエネルギーを使わない、省エネシステムの完成だ。 もちろん、この音楽再生システムはi2s dac専用だ。mclkが不要なdacならすべて鳴らせるだろう。dacがマスターモードのものも使用できないが、この音を聴けばマスターモードである必要性をあまり感じない。ちなみに俺の普段聴いているdacはes9023だ。ここから出てくる音にやみつきになっているためしばらくは他のdacに変えることはないだろう。
ソフトウエアシステム
- Image kernel 4.14.71rt (Timer frequency 15Hz)
- rootfs.cpio.gz (cpu clock 120MHz default)
- mpd 0.20.23rt
- decoder----> audiofile(wav),faad2(aac),flac,libmad(mp3),dsd
- upmpdcli
- sun50i-h5-nanopi-neo2.dtb
- boot.scr
簡単解説
- このシステムは固定ipでネットワークに参加させることを想定している。なので、interfaces,resolv.confの編集が必要だがこれを編集するにはrootfs.cpio.gzを展開して、編集後、rootfs.cpio.gzを再作成しなければならない。簡単に解説しておく。ここではtakobozuディレクトリにrootfs.cpio.gzが存在するものとする。
$ cd takobozu
$ mkdir rootfs
$ cd rootfs
$ fakeroot
# zcat ../rootfs.cpio.gz | cpio -id
# nano etc/network/interfaces
# nano etc/resolv.conf
# find . | cpio --quiet -o -H newc | gzip -9 > ../rootfs.cpio.gz
- システムを起動し、ネットワークに接続ができればtelnetでログインできる。(root,パスワードなし)ログイン後、cpu clockを変えたければ
# echo 960000 | tee /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
で120MHzから96MHzにcpu clockが固定される。リポジトリにアップしたsun50i-h5-nanopi-neo2.dtb改変によるavailable frequenciesは以下のとおり
96MHz,120MHz,192MHz,240MHz,312MHz,480MHz,624MHz,816MHz,960MHz,1008MHz
- 言わずもがなだが、起動ディスクを作るときは、sunxi-spl.bin uboot.itbを先にddコマンドを使って転送しておく必要がある。この2つのファイルは、ここにあるものを使えばよい。ddコマンドでの転送の仕方は、
$ dd if=spl/sunxi-spl.bin of=/dev/sdX bs=1024 seek=8
$ dd if=u-boot.itb of=/dev/sdX bs=1024 seek=40
あとはImage,boot.scr,rootfs.cpio.gz,sun51i-h5-nanopi-neo2.dtbは普通にmicro SDカードにコピーするだけだ。
-
別の場所でも何回も触れているが、俺のリポジトリにあるものは他人に使ってもらうためのものではないので、これ以上親切な解説は期待しないこと。
-
インターネットラジオは俺の場合、ipad用 CREATION5(有料版)を使って聴いている。このソフトにはたくさんのラジオ局が登録されているので重宝している。UIも独特なので興味がある人は使ってみるとよい。NASの音楽再生のときはLUMINを使っている。kinskyなど好みのコントローラを使えばいいだろう。
-
あと、ハードウエア、特に電源環境には注意を払ったほうがいい。当たり前の話だが、このソフトウエアだけで俺が聴いている音が再現できると思ったら大間違いだ。その点は注意しておく。