Help us understand the problem. What is going on with this article?

Linuxでbluez-alsaを使いLDACやらAACやらaptXをBluetoothで送信する話

LDACに関してはUbuntu系にppaがあるが…

pulseaudioで上手く行かなかった。

ということでpulseaudioを使いたくない

いろいろな様々があり、上手く動かなかったので別解としてALSAのバックエンドで動くbluez-alsaを使ってみようかとなりました。aptXについてはリバースエンジニアリングしたものなのでインストール方法について詳しくは書きません。Bluezも最新の5.52にしました。

作っていきます

まずはlibLDACを。まあbluez-alsaを最後にすれば順番はどうでもいいです。

https://github.com/EHfive/ldacBT

まあ、READMEに書いてある通りにやれば出来上がります。足りないライブラリは適宜追加していく感じで。自分でもちゃんとログを取っていないので申し訳ないです。

https://github.com/mstorsjo/fdk-aac

このライブラリを作るとMac系で標準のAACで送信もできるようになります。まあパッケージはあるんですが、これも適宜ライブラリを追加しつつインストールします。

https://github.com/Arkq/openaptx

まあLDACやAACのBT受信機があればなくてもいいのかな、と。どうしてもやりたい人は試行錯誤してみてください。

http://www.kernel.org/pub/linux/bluetooth/bluez-5.52.tar.xz

Bluezに関してはこっからソースコード落としてビルドしてください。

https://github.com/Arkq/bluez-alsa

で、bluez-alsaをビルドします。

全然詳しく書きませんでしたが

openaptx以外はインストール方法がそれぞれで載っているのでこういうのもあるのよという紹介でした。aptXについてはAOSP由来のものも恐らくどっかにあると思うのでそこから作るのもいいのかも知れません。

Raspberry Pi 3B+でも動きますが、LDAC送信時にtopコマンドで見る限りではbluezalsaが30%ほどCPUを食っており、熱暴走なのか途中でBTの送信が途切れます。というかbluez-alsaが落ちます。4Bにすればマシになるのかなぁ。

AMD64(8年くらい前のCeleron)のサーバーマシンにBTドングルをつけた今の環境では安定して送信できています。

bluetoothctlを使い、scanしてtrustしてconnectすれば~/.asoundrcかなんかにBluetoothの受信側の機器が設定されていて、そこから音が出るようになっているはずです。

LDAC受信するヘッドホンを持っていますが、LDACで普通の音源を聞いている限りでは圧縮しているとは思えないほどの音質です。

またAOSPにソースが寄贈されている関係でAndroid8からは標準でLDAC、aptX、aptX HDが送信できるようになっています。それぞれのメーカーの判断に寄りますが…。ちなみにAQUOS R3では開発者オプションからLDACは選べるもののいざつなぐとaptX HDになってしまいました。変な意地張らずにLDAC送信できるようにして欲しかった。シャープめぇ…。

現場からは以上です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away