moOde audio player 8のbluez-alsaパッケージをリビルドしてBluetooth接続時にAACコーデックを使用可能にする。
自宅リビングではRaspberry Pi 3BにI2C DACを載せてBluetoothレシーバーとし、Bose Wave music systemをスピーカー代わりにして音楽を楽しんでいる。以前は音楽プレイヤーにVolumioを使用していたが、Spotify connectの安定性などからmoOde audio playerに切り替えた。ところが、moOdeはデフォルトでAACコーデックが使用できず、SBCとなってしまう。そこで、bluez-alsaパッケージにAACコーデックを組み込んでリビルドした。
まず、リビルドに必要なソースパッケージをダウンロードできるようにraspi.list
ファイルを編集する。
$ sudo mv /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.orig $ sudo cp /etc/apt/sources.list.d/raspi.list.orig /etc/apt/sources.list.d/raspi.list $ sudo vi /etc/apt/sources.list.d/raspi.list $ diff /etc/apt/sources.list.d/raspi.list.orig /etc/apt/sources.list.d/raspi.list 3c3 < #deb-src http://archive.raspberrypi.org/debian/ bullseye main --- > deb-src http://archive.raspberrypi.org/debian/ bullseye main
また、ビルドに必要なパッケージもインストールする。
$ sudo apt install devscripts $ sudo apt install libfdk-aac-dev $ mkdir bluez-alsa && cd bluez-alsa $ sudo apt build-dep bluez-alsa-utils // 依存パッケージが自動ダウンロードされないので、手動で指定する $ sudo apt install debhelper-compat dh-exec \ libasound2-dev libbluetooth-dev libdbus-1-dev libglib2.0-dev \ libsbc-dev libldacbt-enc-dev libldacbt-abr-dev pandoc
rules
ファイルを編集してからリビルド。
$ mv bluez-alsa-3.0.0/debian/rules bluez-alsa-3.0.0/debian/rules.orig $ cp bluez-alsa-3.0.0/debian/rules.orig bluez-alsa-3.0.0/debian/rules $ vi bluez-alsa-3.0.0/debian/rules $ diff bluez-alsa-3.0.0/debian/rules.orig bluez-alsa-3.0.0/debian/rules 13,15c13,14 < --enable-debug < # fdk-aac (libfdk-aac-dev) is in non-free < # --enable-aac --- > --enable-debug \ > --enable-aac $ cd bluez-alsa-3.0.0/ $ debuild -uc -us -b
終了したら、ビルドしたパッケージをインストールしておしまい。
$ cd .. $ sudo apt install ./bluez-alsa-utils_3.0.0-2moode1_arm64.deb
Amazon MusicはUltra HDでも多くが24 bit、44.1 KHzどまりなので、AACで十分と思われる。なお、LDACはライセンスフリーのエンコーダーは入っているが要ライセンスのデコーダーは入っていないため、レシーバー(sink)としては使えない。
コメント