EDIT: yeah installed as system APP and it works
I've read thru your post on habr and think I understand your thinking. However, by adding dual channel (instead of using joint stereo) to SBC, does the extra bandwidth really only help if there are large differences between L and R channels?
Sure, if you had two completely different tracks on L and R (no correlation between the two), I can see how having the extra bits to represent each channel separately would be helpful. On the other hand, if you had a single instrument/voice on a recording, it seems that dual channel will use more bits, but the channels will have only small variation between them. I guess this is more of a communication theory argument: the value of the extra bits are only as valuable if the original signal has enough entropy to require the extra bits.
In the extreme, if you have identical R and L channels, would the extra bandwidth of forced dual channel make any difference?
Yes, high bitrate Dual Channel produces much higher quality audio than Joint Stereo with less bitrate, in all tests I've performed. This is mostly due to max bitpool limitation on the devices. If there's no max bitpool limits, Joint Stereo with the same bitrate would be more effective.
Typical maximum bitpool value is 53, which gives 328 kbps bitrate for Joint Stereo and 617 kbps for Dual Channel.
Optimal bitrate for Dual Channel is 551 kbps, which is used in the modification, which is 68% more of maximum Joint Stereo bitrate.
Try it yourself on https://btcodecs.valdikss.org.ru/sbc-encoder/, with low bitrate, but with 68% coefficient.
Set Profile 1 to SBC Joint Stereo, 20 bitpool (146 kbps), and Profile 2 to Dual Channel, 19 bitpool (243 kbps, 67% more). It's clear that Dual Channel sounds much better.
This is also true for mono recordings for some reason, although the difference is from small but noticeable to negligible. Try it on Suzanne Vega. I haven't dig in dipper on the reasons, but I guess that Joint Stereo in SBC is not very effective. Just to note, I've also tested everything on Android SBC encoder and on Blackberry encoder, and got more or less the same results.
@ValdikSS would you consider implementing this through a Magisk mod? Or would it be impossible to achieve?
Thanks for this awesome development.
Edit: after using the search function, apparently there should already be a Magisk module with similar functionality.
I am particularly interested in the connection to automobile head units. As people tend to hold their cars longer than their other personal electronics, you are usually using outdated tech in your car head unit when connecting BT audio. In your testing, how often do you see other noise sources in the BT band that cause audible distortion?
|Thread Tools||Search this Thread|