How to set FM radio over bluetooth (A2DP) ?? - Android Apps and Games

How to set FM radio over bluetooth (A2DP) ?? please don recommend FMspxxx
================================================================
After few days search search and search,
I found SoundAbout apps is work on system/FM radio over BLUETOOTH, BUT FM is mono and very little sound ,
I don like to use streaming radio, always buffering and reconnect.
under file is audio_policy.conf, how to amend it ????
whether have to provide which files to fixed if I can do 4.2.1 rom
libaudio.a2dp.default.so
libaudiosetting.so
================================================================
#
# Audio policy configuration for generic device builds (goldfish audio HAL - emulator)
#
# Global configuration section: lists input and output devices always present on the device
# as well as the output device selected by default.
# Devices are designated by a string that corresponds to the enum in audio.h
global_configuration {
attached_output_devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE
default_output_device AUDIO_DEVICE_OUT_SPEAKER
attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC
}
# audio hardware module section: contains descriptors for all audio hw modules present on the
# device. Each hw module node is named after the corresponding hw module library base name.
# For instance, "primary" corresponds to audio.primary.<device>.so.
# The "primary" module is mandatory and must include at least one output with
# AUDIO_OUTPUT_FLAG_PRIMARY flag.
# Each module descriptor contains one or more output profile descriptors and zero or more
# input profile descriptors. Each profile lists all the parameters supported by a given output
# or input stream category.
# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
audio_hw_modules {
primary {
outputs {
primary {
sampling_rates 44100
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_FM_TX|AUDIO_DEVICE_OUT_DEFAULT
flags AUDIO_OUTPUT_FLAG_PRIMARY
}
}
inputs {
primary {
sampling_rates 8000|16000|32000|44100|48000
channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_IN_COMMUNICATION|AUDIO_DEVICE_IN_AMBIENT|AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_AUX_DIGITAL|AUDIO_DEVICE_IN_AUX_DIGITAL2|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_ALL_SCO|AUDIO_DEVICE_IN_FM|AUDIO_DEVICE_IN_DEFAULT
}
}
}
a2dp {
outputs {
a2dp {
sampling_rates 44100
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_ALL_A2DP
}
}
}
usb {
outputs {
default {
sampling_rates 44100
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_ALL_USB
}
}
}
r_submix {
outputs {
r_submix {
sampling_rates 44100|48000
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX
}
}
inputs {
r_submix {
sampling_rates 44100|48000
channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_IN_REMOTE_SUBMIX
}
}
}
}

I think its not possible since The headphone wire normally works AS antenna for The fmradio and With BT u dont have a good signal thats why u hear mono and very low volume

ref : http ://blog.osakana.net/archives/3046
Notepad OSAKANA TAROIt is the site to go to the main someting that technical
Function of radio-related chip that MediaTek MT6628 of
Posted by Osakanataro 9 January 18, 2012 on Leave a Comment (1) Go to comments
"In July function of radio-related chip that MediaTek MT6620 of in ", I wrote an article about that MT6620 chip that is responsible for functions of the radio around the MTK made.
Then, " MTK MT6588/MT6583 appeared plan? early 2013 according to the table that you used in the article "and, it was described in the MT6588 generation, peripheral chips that MT6628 also be used.
More so had not been published, I was not in material, but full details had come out.
As a product, the two types of "MT6628Q" and "MT6628T".
- MT6628Q Wireless Connectivity 4-in-1 combo for SP and Tablet Market
- MT6628T Wireless Connectivity 3-in-1 combo for SP and Tablet Market
If you write easily the difference between the two spec 2
 4in1 with wireless LAN / Bluetooth / GPS / FM radio: MT6628Q
 3in1 with wireless LAN / Bluetooth / FM radio: MT6628T
thing. Pin arrangement is the same for both, it seems possible replacement.
(User is that, replace indeed it is impossible, but ...)
However, I etc. Talking about Chinese Sumafo how much, and ... but I want to think that it is to no GPS on a smartphone nowadays
main target of MT6628T it will be to such such as tablet in the home for possibly.
In, the old MT6620 and MT6628Q / MT6628T I tried to compare the but, is that there is likely to be degenerate on spec listed, it is a little subtle.
MT6628 reinforcement
for and wireless LAN, and Wifi Display and HotSpot 2.0 support
Part may have degenerated in MT6628
(StrikethroughPart of is) not listed in MT6628
LAN or wireless 802.11a/ B / g / n support
· GPS (U.S.) /Galileo (EU)/ Support (satellite-based augmentation system is operating in each country) QZSS (Japan Quasi-Zenith Satellite System) / SBAS
-Function corresponding to the spurt in Bluetooth voice of FM radio called "FM over Bluetooth"
·It seems to be the position information ensure low power consumption by the mechanism of MediaTek called "AlwaysLocate"
MT6620/MT6628 intersection
· Wi-Fi CERTIFIED Passpoint, Wi-Fi Direct support
· Bluetooth 3.0 + HS, and, Bluetooth 4.0 Low Energy support
· GPS sensitivity-165dBm
of America and the RDS (EU FM data broadcasting · FM radio RBDS) correspondence
there is a packet loss concealment system for the packet-voice? "PLC (Packet Loss Concealment) technology for superior audio quality"
● description of the MT6620 page
description of the page of △ MT6628Q
description of the page ■ MT6628T
● Low power, Small size and high performance WLAN / Bluetooth / GPS / FM Solution
△ Low power, Small size and high performance WLAN / Bluetooth / GPS / FM Solution
■ Low power, Small size and high performance WLAN / Bluetooth / FM Solution
● WLAN 802.11 a / ​​b / g / N dual band Single stream (20/40MHz) with dual band LNA and 2.4GHz PA Integration
△ WLAN 802.11 b / g / N dual band Single stream (20/40MHz) with LNA and PA Integration
■ WLAN 802.11 b / g / n dual band single stream (20/40MHz) with LNA and PA integration
● Bluetooth 3.0 + HS and V4.0 Low Energy Support Integration with PA
△ Bluetooth 3.0 + HS and V4.0 Low Energy Support Integration with PA
■ Bluetooth 3.0 + HS and V4.0 Low Energy Support Integration with PA
● Support GPS / Galileo / QZSS / SBAS with-165dBm tracking Sensitivity
△ Support GPS / QZSS / SBAS with-165dBm tracking Sensitivity
● FM Tx / Rx with RDS / RBDS Support
△ FM Rx with RDS / RBDS Support
■ FM Rx with RDS / RBDS Support
● Support WAPI hardware encryption and Wi-Fi Direct
△ Support WAPI hardware encryption and Wi-Fi Direct, Display and HotSpot2.0
■ Support WAPI hardware encryption and Wi-Fi Direct, Display and HotSpot2.0
● Support FM over Bluetooth
● PLC (Packet Loss Concealment) Technology for Superior audio quality
△ PLC (Packet Loss Concealment) Technology for Superior audio quality
■ PLC (Packet Loss Concealment) Technology for Superior audio quality
● Advanced AlwaysLocateTM location awareness technology with ultra low power consumption
● Flexible host interfaces include Single Support SDIO interface for all wireless functions
△ Flexible host interfaces include Single Support SDIO interface for all wireless functions
■ Flexible host interfaces include Single Support SDIO interface for all wireless functions
■ Pin-to-pin compatible with MT6628Q

Related

New Device...

Operating Frequency
• WCDMA2100 (HSDPA), EGSM900, GSM850/1800/1900 MHz (EGPRS)
• Automatic switching between bands and modes
Dimensions
• Volume: 90 cc
• Weight: 120 g
• Length: 99 mm
• Width: 53 mm
• Thickness (max): 21 mm
Memory Functions
• Up to 160 MB* internal dynamic memory for messages, ringing tones, images, video clips, calendar notes, to-do list and applications
• Memory card slot supporting up to 2 GB microSD memory cards
* Changes to product details are possible without prior notice. Application offering may vary. Dynamic memory means that the available memory is shared between dynamic memory functions. When any of these functions is used, there is less available memory for other functions which are also dependent on dynamic memory.
Power Management
• Battery: Battery (BL-5F) 950mAH
• Talk time: up to 160min (WCDMA), up to 240 min (GSM)*
• Stand-by time: up to 215 hours (WCDMA), up to 215h (GSM)*
* Operation times may vary depending on radio access technology used, operator network configuration and usage.
Displays
• Large 2.6" QVGA (240 x 320 pixels) TFT display with ambient light detector and up to 16 million colors
User Interface
• Dedicated Media Keys
• Multimedia Menu
• Active standby screen
Call Management
• Contacts: advanced contacts database with support for multiple phone and e-mail details per entry, also supports thumbnail pictures and groups
• Speed dialing
• Logs: keeps lists of your dialed, received, and missed calls
• Automatic redial
• Automatic answer (works with compatible headset or car kit only)
• Supports fixed dialing number, which allows calls only to predefined numbers
• Conference call
• Push to talk (PoC)
Voice Features
• Speaker independent name dialing (SIND)
• Voice commands
• Voice recorder
• Talking ringtone
• Integrated hands-free speaker
Messaging
• Text messaging: supports concatenated SMS, picture messaging, SMS distribution list
• Multimedia messaging: combine image, video, text, and audio clip and send as MMS to a compatible phone or PC; use MMS to tell your story with a multi-slide presentation
• Automatic resizing of your megapixel images to fit MMS (max 300 KB size depending on the network)
• Predictive text input: support for all major languages in Europe and Asia-Pacific
Data Transfer*
• WCDMA 2100 (HSDPA) with simultaneous voice and packet data (PS max speed UL/DL= 384/3.6MB, CS max speed 64kbps)
• Dual Transfer Mode (DTM) support for simultaneous voice and packet data connection in GSM/EDGE networks. Simple class A, multi slot class 11, max speed DL/UL: 177.6/118.4 kbits/s
• EGPRS class B, multi slot class 32, max speed DL/UL= 296 / 177.6 kbits/s
*Actual achieved speeds may vary depending on network support.
Connectivity
• Integrated wireless LAN (802.11 b/g) and UPnP (Universal Plug and Play)
• Integrated Bluetooth wireless technology v.2.0 EDR
• USB 2.0 via Mini USB interface and mass storage class support to support drag and drop functionality
• 3.5 mm stereo headphone plug and TV out support (PAL/NTSC)
• PC Suite connectivity with USB, Infrared and Bluetooth wireless technology
• Local synchronization of contacts and calendar to a compatible PC using compatible connection
• Remote over-the-air synchronization
• Send and receive images, video clips, graphics, and business cards via Bluetooth wireless technology
Java Applications
• Java MIDP 2.0, CLDC 1.1 (Connected Limited Device Configuration (J2ME))
• Over-the-air download of Java-based applications and games
Other Applications
• Personal Information Management (PIM)
• Advanced PIM features including calendar, contacts, to-do list, and PIM printing
• Settings Wizard for easy configuration of e-mail, push to talk and video sharing.
• Data transfer application for transfer of PIM information from other compatible devices.
• Wlan wizard
Sorry folks, isn't WM5 , is a Nokia, the new N95
5 Megapixel Carl Zeiss lens camera,, GPS, RADIO, UMTS HSDPA, wireless lan, plus a lot of SW features simply not included in HTC devices.
http://www.nokia.com/nseries/index.html?lang=en&country=R1#product,n95
Rumors around price, 550 Euro.
I think they learned the lesson an I could be someone in MS and in HTC will understand now the time lost during last couple of years.

7" Win CE nav unit

I have a 7" double din in-dash chines made nav unit that runs win ce 5.0. The specs for this unit are:
Detail Specifications
* Operating system: Windows CE 5.0
* GPS Processor: SAMSUNG
* Max. main frequency: 400MHZ.
* RAM Memory: 64MB
* Memory Size: can expand to 4GB
* Supported Maps: IGO, ROUTE66, TOMTOM and so on.
* Voice Guidance Cruise: Yes
* GPS languages: English/French/German/Spanish/Portuguese/Russian
* GPS antenna: 1 GPS antenna interface on the back
* GPS dual zone: You can enjoy music and radio while GPS navigation
DVD Player
* Formats played: MP4, DIVX, DVD, DVD-R/RW, DVD+R/RW, VCD, MP3, WMA, JPEG, etc
* Media: this dvd player reads all popular media including DVD/DVD-R/DVD+R/DVD-RW/DVD+RW/CD/CD-R/CD-RW/MP3/MP4(DIVX)/VCD/SVCD/US
Screen
* Size: 7 " 16:9 TFT LCD wide touch screen
* Digital or Anolog: Digital screen (higher definition than anolog screen)
* Number of Pixels: 480*234 (R.G.B), higher definition due to the RGB signal
* OSD language: English
* Touch panel: yes
* Brightness control: yes
* Picture adjustment (brightness, contrast, color, settings)
Bluetooth
* Version: V2.0, Support AD2P (Bluetooth Stereo Music), can play stereo music through Bluetooth
* Built-in microphone:yes
* Received call: yes
* Dialled call: yes
* Missed call: yes
TV tuner
* Digital TV or Anolog TV: Analog TV tuner
* Video format: PAL/NTSC(SECAM Optional)
* TV antenna:2 TV antenna interface on the back
* Preset stations:100 preset stations
* ATSC: no
Radio
* Radio Frequency: Europe, USA1, USA2, Japan, Russian
* AM Frequency range: 522-1620 (Europe/China), 530-1710 (America)
* FM Tuning range: 87.5-108 (Europe/China), 87.5-107.9 (America)
* FM Medium frequency: 10.7MHz
* RDS: YES (RDS is useful for European buyers)
* Preset stations: 30
iPod control
* YES
USB
* Interface: 1 mini USB interface. Support hot plug.
* Position: front
* Random / Repeat Play: YES
Video in/out
* Camera video in: YES, auto-switch to rear-view status when your car reverses,to the shipping cost when making the payment and tell us via Email, or just send the extra cost directly from your paypal account to us after you pay for this car dvd gps system(Both PAL&NTSC are available)
* 1 AUX video in
* 1 video out
Audio in/out
* 2 pair of RCA out: Front-L out, Front-R out, Rear-L out, Rear-R out
SD
* 2 SD card slots, one for GPS SD, the other for storing MP3, MP4, WMA, AVI, JPEG files.
* Max. capacity: 4G
* You will receive a gps map card with map software(if the map is available for your location) for free. So If you need another SD Card to load Music/Video files, please pay us extra 10 usd. You email us that you need the optional accessories,then wait to receive an invoice including extra/additional cost sent from us. Or just send the extra cost directly from your paypal account to us after you pay for this car dvd gps system and inform us via Email)
Motorized slide-down Face
YES
Detachable Control Panel
YES ,only the border(not key button) can be removed to avoid theft.
Dual zone:
YES, You can enjoy music(in CD/DVD/USB/SD Card) and radio while navigation.
AUX in
AUX R IN, AUX L IN
Games
NO
DTS
NO (DTS is short for Digital Theatre System)
Steering wheel control
Yes
Button Sound:
ON/OFF for sound of screen buttons
MOS-FET Amplifier
YES, Max 4*45W (Stereo)
EQ
POP, ROCK, JAZZ,NORMAL
Portable HDD Compatible
YES. (The size must less than 20GB)
Built-in speaker
NO
Subwoofer output
Yes
Anti-Shock
YES
Operating Envioroment
* Voltage requirment: 12 V DC (allowable range: 10.8-14.5V)
* Max. consumption of current: 15A
* Temperature: -20℃ ~ +70℃
ISO connector
* Yes
Accessories
* Manual (Language: english)
* Remote contorl (Battery included)
* GPS antenna
* Wiring cable set
* USB cable
* 2GB SD card(map preloaded if available for your country)
I wonder if it is possible to flash this unit with win ce 6.0, and how to it?
Why would you wanna do that?
why
win ce 5.0 is already screwed up and I need to re install either win ce 5.0 or better upgrade to win ce 6.0. Appreciate the help.
The unit cam with a chines win ce 5.0, and I do not know chines and I did something that made all serial ports vanish, and the gps receiver is no longer there, as there is no available serial ports.
help, please
guys, I need your help please, need to re-flash this unit with win ce 5.0

Micrel distributor_gnn components

MICREL
GNN COMPONENTS CO., LTD
1. Introduction:
Micrel Inc., is a leading manufacturer of IC solutions for the worldwide analog, Ethernet and high bandwidth markets. The Company's products include high performance analog, power, advanced mixed-signal and radio frequency semiconductors; high speed communication, clock management, Ethernet switch and physical layer transceiver integrated circuits. These products address a wide range of rapidly growing end markets including cellular handsets, portable and enterprise computing, enterprise and home networking, wide area and metropolitan area networks and industrial equipment.
2. Product Lines:
• MICREL| Power Management Ics
• MICREL| Linear ICs
• MICREL| Bus Device ICs
• MICREL| System Management ICs
• MICREL| Precision Edge Ics High Speed Logic Functions
• MICREL| Fiber Optic Ics
• MICREL| High-Speed Comms ICs
• MICREL| HBW Resources
• MICREL| LAN Solutions
• MICREL| Ethernet ICs
• MICREL| RF Wireless Ics
3. Feature of Products:
MIC1700BWME
• S-video (Y/C) input, S-video and summed (CV) output
• 2 YPrPb or RGB inputs, YPrPb or RGB output
• YPrPb/RGB 2-1 input multiplexer
• DC coupled inputs – AC-coupled output drive
• 6db output gain for 75 Ohm source termination
• Component filters selectable for SD or HD cutoffs
SY58603UMG
The SY58603U operates from a 2.5V ±5% supply or 3.3V ±10% supply and is guaranteed over the full industrial temperature range (–40°C to +85°C). For applications that require LVPECL or LVDS outputs, consider the SY58604U and SY58605U, buffers with 800mV and 325mV output swings respectively. The SY58603U is part of Micrel’s high-speed, Precision Edge ® product line.
I don't think this belongs here, it isn't related with mobile devices
Am I right?

Meaning of some important abbreviations

Following are the meaning of some important abbreviations we come across while dealing with mobile phones:
AMOLED - Active-matrix organic light-emitting diode
AMR - Adaptive Multi-Rate
APK - Authenticated public key
APN - Access Point Name
CDMA - Code Division Multiple Access
DELL - Digital electronic link library
DIVX - Digital internet video access
DLNA - Digital Living Network Alliance
DNSE - Digital natural sound engine
EDGE - Enhanced Data Rates for Global Evolution
ESN - Electronic Serial Number
GPRS - General Packet Radio Service
GPS - Global Positioning System
GSM - Global System for Mobile Communications
H.S - HOTSPOT
HDMI - High-Definition Multimedia Interface
HSDPA - High speed down-link packet access
HSPA - High Speed Packet Access
HSUPA - High-Speed Uplink Packet Access
IMEI - International Mobile Equipment Identity
IVRS - Interactive Voice Response System
J2ME - Java 2 micro edition
LCD - Liquid Crystal Display
LED - Light emitting diode
MPEG - moving pictures experts group
NFC - Near field communication
OLED - Organic light-emitting diode
OS - Operating system
OTG - On-the-go
OVI - Ohio Video Intranet
PPI - Pixels Per Inch
QVGA - Quarter Video Graphics Array
RAM - Random access memory
ROM - Read only memory
RSS - Really simple syndication
SIM - Subscriber Identity Module
SIS - Installation source
S-LCD - Super Liquid Crystal Display
SNS - Social network service
TFT - Thin film transistor
UMTS - Universal Mobile Telecommunications System
UPS - Uninterruptible power supply
USB - Universal serial Bus
VGA - Video Graphics Array
VPN - Virtual private network
WCDMA - Wide-band Code Division Multiple Access
WI-FI - Wireless Fidelity
WLAN - Wireless Local Area Network
WVGA - Wide video graphics array
WXGA - Widescreen Extended Graphics Array
Hope you find above useful.

Improve Bluetooth audio quality on headphones without aptX or LDAC

The test is over. I'm no longer accepting libraries to patch.
SBC XQ Feature is available in LineageOS 15.1 build created on or after the 31st of March 2019, or a 16.0 build created on or after the 13th of May 2019.
Many note low sound quality and lack of high frequencies when using the standard SBC Bluetooth codec, which is supported by all headphones and other Bluetooth devices. A common recommendation to get better sound quality is to buy devices and headphones with aptX or LDAC codecs supported. These codecs require licensing fees, so devices with them are more expensive.
It turns out that the low quality of SBC is caused by artificial limitations of all current Bluetooth stacks and headphones' configuration, and this limitation can be circumvented on any existing devices.
Everyone interested in Bluetooth audio, please take part in high-bitrate SBC compatibility testing on various headphones, receivers, stereo systems, or automotive head units.
If the vast majority of devices work with high bitrates, I will make a patch for Android and send it to AOSP and third-party ROMs, and high quality Bluetooth audio will be available to everyone on any headphones and smartphones, regardless of codecs with licensing fees.
Short technical information about SBC codec
SBC has lots of different parameters that are negotiated during the connection setup phase:
Audio channel type and number: Joint Stereo, Stereo, Dual Channel, Mono;
Number of frequency bands: 4 or 8;
Number of audio blocks in one packet: 4, 8, 12, 16;
Quantization bit allocation algorithm: Loudness, SNR;
Maximum and minimum bit pool used in quantization process: usually 2-53.
The decoder is required to support any combination of these parameters. Encoder may implement only a part of them.
Existing Bluetooth stacks usually negotiate the following profile: Joint Stereo, 8 bands, 16 blocks, Loudness, bitpool 2..53. This profile encodes 44.1 kHz audio with a bitrate of 328 kbps.
Bitpool parameter directly affects the bitrate within the same profile: the higher it is, the higher the bitrate, and hence the quality.
However, the bitpool parameter is not bound to a specific profile. The bitrate is also significantly affected by other parameters: audio channel type, number of frequency bands, number of audio blocks. You can increase the bitrate indirectly by negotiating non-standard profiles, without changing the bitpool.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
For example, Dual Channel encodes channels separately, using the entire bitpool for each channel. Forcing the device to use Dual Channel instead of Joint Stereo will get us almost doubled bitrate at the same maximum bitpool, 617 kbps.
To me it feels that bitpool should be an internal variable. It is an A2DP specification design fault that bitpool value is not bound to other codec parameters and only defined as a global value.
These fixed Bitpool and Bitrate values originate from recommended values for high-quality audio. But the recommendation is not an excuse to limit the profile to these values.
A2DP specification v1.2, which was active from 2007 to 2015, requires all decoders to work correctly with bitrates up to 512 kbps:
The decoder of the SNK shall support all possible bitpool values ​​that do not result in the excess of the maximum bit rate. This profile limits the available maximum bit rate to 320kb/s for mono, and 512kb/s for two-channel modes.
Click to expand...
Click to collapse
In the new version of the specification there is no bitrate limitation. It is assumed that modern headphones released after 2015 with EDR can support bitrates up to 730 kbps.
For some reason, all currently tested Bluetooth stacks (Linux (PulseAudio), Android, Blackberry and macOS) have artificial restrictions of maximum bitpool parameter, which directly affects the maximum bitrate. But this is not the biggest problem, almost all headphones also limit the maximum bitpool value to 53.
As I've already seen in my tests, most devices work fine on a modified Bluetooth stack with a bitrate of 507 kbps, without interrupts and crackling. But such a bitrate will never be negotiated under normal conditions, with stock Bluetooth stacks.
How to test on a PC
High bitrate SBC headphone compatibility test is the easiest to perform on the PC with a Bluetooth adapter. I've prepared Ubuntu image with a modified Bluetooth stack, which can be run as in a virtual machine (by connecting Bluetooth adapter as a USB device inside the virtual machine, it also works with the adapters built into the laptops) or by booting from the USB flash drive. This image uses the following profile: Dual Channel, 8 bands, 16 blocks, Loudness, bitpool 2..41, 44.1 kHz, which provides 485 kbps bitrate.
See the attachment in the end of this post.
Running in a VM
Download Virtualbox and Virtualbox Extension Pack: https://www.virtualbox.org/wiki/Downloads;
Install Virtualbox, start it;
Install Extension Pack using File → Preferences → Extensions;
Create new virtual machine: Linux, Ubuntu (64-bit), 1024 RAM. Do not create a HDD.
Navigate to virtual machine settings, in Storage choose Controller: IDE, Empty, press CD icon → Choose virtual optical disk file;
Select downloaded bluetooth-dualchannel-test-ubuntu-18.04.1-desktop-amd64.iso;
Save and close settings window, start virtual machine;
Right-click USB cable icon in the bottom right, select your Bluetooth adapter;
Running on a PC
The image supports BIOS/CSM and UEFI booting.
Burn the image to a USB flash drive using Etcher: https://etcher.io/. This operation will delete all existing files on a USB drive.
Turn off the PC;
Insert USB flash drive, turn on the PC and press boot order button (usually Esc or F12);
Select your USB flash drive.
Performing the test
(optional but recommended) Double click on "Btsnoop Dump" script on the desktop. It will start Bluetooth data capture for later analysis. Do not close terminal window.
Switch the headphones to pairing mode;
Click to the arrow in top right corner, select Bluetooth icon → Bluetooth Settings;
Choose your headphones, wait until pairing is complete and close the window;
Set Ubuntu volume to about 2/3. Also decrease volume using headset buttons as it could be very loud after pairing.
Open "music" folder, play "testrecord1.flac";
(optional but recommended) Close player, close terminal window. This will stop data capture.
(optional but recommended) Open Firefox browser, upload data dump (btsnoop_hci.btsnoop on the desktop) to https://btcodecs.valdikss.org.ru/
You can listen to other music in the music folder, or upload your own;
Post in this topic your headphone model and test results.
There should be no cracklings, audio interruption or other sound distortion in the headphones. If you hear a good high-quality sound, that means your headphones support audio with a bit rate of 485 kbps.
If you upload data to the server, please carefully follow the algorithm above. Especially, if you power off the headphones or disconnect after pairing, it's important to connect to the headphones manually from the bluetooth settings, do not allow auto connection!
How to test on Android device
In order to test from Android smartphone or tablet you need to use modified Bluetooth stack, which requires root privilege.
For regular users
Use PC method if possible.
Create backup before overwriting bluetooth library. Some patched libraries are attached to this post.
Unrestricted/unlimited versions negotiate Dual Channel mode and disable bitrate restriction (617-660 kbit/s will be used). Versions with 482 or 486 prefix negotiate 474-485 kbit/s.
For ROM developers (Android 5-7)
Patchset which increases maximum Bitpool value and adds Bluetooth Dual Channel option is available using the following link:
LineageOS 14.1 (Android 7.1.2)
The following information is outdated and is kept only for historical reasons:
Code:
[b]These modifications are designed only for test and should not be applied to the main ROM repository![/b]
[b]If you're a ROM developer, please provide flashable modified bluetooth library if possible![/b]
These modifications should be applied to stock Android bluetooth stacks Bluedroid (Android 5) and Fluoride (Android 6-7). Qualcomm-modified stack is not supported.
[b]1. Replace Joint Stereo with Dual Channel in standard SBC configuration[/b]
[url="https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/master/btif/co/bta_av_co.c#99"][i]android/platform/external/bluetooth/bluedroid/btif/co/bta_av_co.c:99[/i][/url]
[code]const tA2D_SBC_CIE btif_av_sbc_default_config =
{
BTIF_AV_SBC_DEFAULT_SAMP_FREQ, /* samp_freq */
A2D_SBC_IE_CH_MD_JOINT, /* ch_mode */
A2D_SBC_IE_BLOCKS_16, /* block_len */
A2D_SBC_IE_SUBBAND_8, /* num_subbands */
A2D_SBC_IE_ALLOC_MD_L, /* alloc_mthd */
BTA_AV_CO_SBC_MAX_BITPOOL, /* max_bitpool */
A2D_SBC_IE_MIN_BITPOOL /* min_bitpool */
};
Replace A2D_SBC_IE_CH_MD_JOINT with A2D_SBC_IE_CH_MD_DUAL.
2. Increase Dual Channel priority
android/platform/external/bluetooth/bluedroid/btif/co/bta_av_co.c:411
Code:
if (src_cap.ch_mode & A2D_SBC_IE_CH_MD_JOINT)
pref_cap.ch_mode = A2D_SBC_IE_CH_MD_JOINT;
else if (src_cap.ch_mode & A2D_SBC_IE_CH_MD_STEREO)
pref_cap.ch_mode = A2D_SBC_IE_CH_MD_STEREO;
else if (src_cap.ch_mode & A2D_SBC_IE_CH_MD_DUAL)
pref_cap.ch_mode = A2D_SBC_IE_CH_MD_DUAL;
else if (src_cap.ch_mode & A2D_SBC_IE_CH_MD_MONO)
pref_cap.ch_mode = A2D_SBC_IE_CH_MD_MONO;
Move if with A2D_SBC_IE_CH_MD_DUAL to the top.
3. Disable or increase bitrate restriction
Android bluetooth stack has not only bitpool limit, but also bitrate limit, 328 kbit/s. If the headphones support, for example, bitpool 53 for 48 kHz, Android will decrease the bitpool down to fit into 328 kbit/s limit. This will happen AFTER codec negotiation, on the encoding stage, do not take into account bitpool value in Bluetooth SetCapabilities packet.
android/platform/external/bluetooth/bluedroid/btif/src/btif_media_task.c:172
Code:
#define DEFAULT_SBC_BITRATE 328
Replace with 512.
4. (for experiments only) Disable MTU limit.
This is required for bitrates higher than ~580 kbit/s.
btif/src/btif_media_task.c:174
Code:
/* 2DH5 payload size of 679 bytes - (4 bytes L2CAP Header + 12 bytes AVDTP Header) */
#define MAX_2MBPS_AVDTP_MTU 663
[/code]
For ROM developers (Android 8-9)
Patchset which increases maximum Bitpool value and adds Bluetooth Dual Channel option is available using the following links:
LineageOS 15.1 (Android 8.1)
LineageOS 16.0 (Android 9)
AOSP Master (what will eventually become Android 9.1/10)
If you're a ROM developer, please provide flashable modified bluetooth library if possible!
The following information is outdated and is kept only for historical reasons:
1. Add Dual Channel support into A2DP SBC Source
/platform/system/bt/stack/a2dp/a2dp_sbc.cc:55
Code:
/* SBC SRC codec capabilities */
static const tA2DP_SBC_CIE a2dp_sbc_caps = {
A2DP_SBC_IE_SAMP_FREQ_44, /* samp_freq */
(A2DP_SBC_IE_CH_MD_MONO | A2DP_SBC_IE_CH_MD_JOINT), /* ch_mode */
(A2DP_SBC_IE_BLOCKS_16 | A2DP_SBC_IE_BLOCKS_12 | A2DP_SBC_IE_BLOCKS_8 |
A2DP_SBC_IE_BLOCKS_4), /* block_len */
A2DP_SBC_IE_SUBBAND_8, /* num_subbands */
A2DP_SBC_IE_ALLOC_MD_L, /* alloc_method */
A2DP_SBC_IE_MIN_BITPOOL, /* min_bitpool */
A2DP_SBC_MAX_BITPOOL, /* max_bitpool */
BTAV_A2DP_CODEC_BITS_PER_SAMPLE_16 /* bits_per_sample */
};
add A2DP_SBC_IE_CH_MD_DUAL in ch_mode.
2. Replace Joint Stereo with Dual Channel in default config
/platform/system/bt/stack/a2dp/a2dp_sbc.cc:82
Code:
/* Default SBC codec configuration */
const tA2DP_SBC_CIE a2dp_sbc_default_config = {
A2DP_SBC_IE_SAMP_FREQ_44, /* samp_freq */
A2DP_SBC_IE_CH_MD_JOINT, /* ch_mode */
A2DP_SBC_IE_BLOCKS_16, /* block_len */
A2DP_SBC_IE_SUBBAND_8, /* num_subbands */
A2DP_SBC_IE_ALLOC_MD_L, /* alloc_method */
A2DP_SBC_IE_MIN_BITPOOL, /* min_bitpool */
A2DP_SBC_MAX_BITPOOL, /* max_bitpool */
BTAV_A2DP_CODEC_BITS_PER_SAMPLE_16 /* bits_per_sample */
};
Replace A2DP_SBC_IE_CH_MD_JOINT with A2DP_SBC_IE_CH_MD_DUAL.
3. Increase Dual Channel priority
/platform/system/bt/stack/a2dp/a2dp_sbc.cc:1155
Code:
static bool select_best_channel_mode(uint8_t ch_mode, tA2DP_SBC_CIE* p_result,
btav_a2dp_codec_config_t* p_codec_config) {
if (ch_mode & A2DP_SBC_IE_CH_MD_JOINT) {
p_result->ch_mode = A2DP_SBC_IE_CH_MD_JOINT;
p_codec_config->channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO;
return true;
}
if (ch_mode & A2DP_SBC_IE_CH_MD_STEREO) {
p_result->ch_mode = A2DP_SBC_IE_CH_MD_STEREO;
p_codec_config->channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO;
return true;
}
if (ch_mode & A2DP_SBC_IE_CH_MD_DUAL) {
p_result->ch_mode = A2DP_SBC_IE_CH_MD_DUAL;
p_codec_config->channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO;
return true;
}
if (ch_mode & A2DP_SBC_IE_CH_MD_MONO) {
p_result->ch_mode = A2DP_SBC_IE_CH_MD_MONO;
p_codec_config->channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_MONO;
return true;
}
return false;
}
Move if with A2DP_SBC_IE_CH_MD_DUAL to the top.
4. Increase bitrate limit
/platform/system/bt/stack/a2dp/a2dp_sbc_encoder.cc:42
Code:
#define A2DP_SBC_DEFAULT_BITRATE 328
Replace with 512.
5. (for experiments only) Disable MTU limit
This is required for bitrates higher than ~580 kbit/s.
/platform/system/bt/stack/a2dp/a2dp_sbc_encoder.cc:47
Code:
#define MAX_2MBPS_AVDTP_MTU 663
[/code]
For advanced users and ROM developers (Android 5-7 binary patch)
Please refer to this post in Russian (use Google Translate): https://4pda.ru/forum/index.php?s=&showtopic=914135&view=findpost&p=76169677
How to capture Bluetooth data dump on Android
Turn off Bluetooth;
In Developer Settings, enable the "Enable Bluetooth HCI snoop log" switch;
Turn on Bluetooth, connect to your headset using Bluetooth menu (this is important! Do not allow auto connection!);
Play short audio sample;
Open developer settings, disable the "Enable Bluetooth HCI snoop log" switch;
There should be /storage/emulated/0/btsnoop_hci.log or /data/misc/bluetooth/logs/btsnoop_hci.log created. If it's missing, open /etc/bluetooth/bt_stack.conf with a text editor and see the path in BtSnoopFileName option.
Upload btsnoop_hci.log to https://btcodecs.valdikss.org.ru/;
Post in this topic your headphone model and test results.
There should be no cracklings, audio interruption or other sound distortion in the headphones. If you hear a good high-quality sound with the patched library, that means your headphones support audio with a bit rate of 512 kbps.
If you upload data to the server, please carefully follow the algorithm above. Especially, if you power off the headphones or disconnect after pairing, it's important to connect to the headphones manually from the bluetooth settings, do not allow auto connection!
Some of the files attached below have no MTU limit patched. Unlocked/unrestricted versions most probably will introduce cracklings.
Tested devices
Devices which support at least 512 kbit/s SBC
1MORE iBFree
JBL Everest 310
JBL Everest 700
JBL T110BT
JBL E55BT
JBL T460BT
JBL Endurance SPRINT (Claim to not support Dual Channel, but work if forced. Does not conform to A2DP specification.)
Skullcandy HESH 3
SoundPEATS Q30
Sony WH-H900N
Sony WI-C400
Sony MDR-1ABT
Sony MDR-ZX770BT
Sony MDR-ZX770BN
Sony MDR-XB650BT
Sony MDR-XB950B1
Sony SBH50
SVEN AP-B570MV
Syllable G600
Bluedio A/Air (Claim to not support Dual Channel, but work if forced. Does not conform to A2DP specification.)
Bluedio T4s (Bitpool max 39. Claim to not support Dual Channel, but work if forced, 462 kbit/s. Does not conform to A2DP specification.)
Bluedio T5 (Claim to not support Dual Channel, but work if forced. Does not conform to A2DP specification.)
Bluedio T6 (Claim to not support Dual Channel, but work if forced. Does not conform to A2DP specification. Adopt Max 97220 chipset.)
Marshall Major II Bluetooth
Overdrive RealForce D1
DEXP BT-210
DEXP BT-220
DEXP BT-250
DEXP BT-260
DEXP BT-280
Edifier W288BT
Edifier W830BT
Nomi BT 211
LeEco Le Sports BT
Xiaomi MI Portable Bluetooth Speaker
Xiaomi Square Box Bluetooth Speaker 2
Sennheiser HD 4.40BT
AKG K845BT
Beyerdynamic Amiron Wireless
Bowers & Wilkins PX
Bowers & Wilkins Zeppelin Wireless
House of Marley Liberate XLBT
Harman Kardon Onyx Studio 4
Harman Kardon Aura Studio 2
QCY QY8
Panasonic RP-BT10
Jaybird X3
Logitech BT Adapter
TP-Link HA100
Xiaomi Mi Bluetooth Audio Receiver
Overfly Portable Bluetooth Receiver
KZ Wireless Bluetooth Module
Excelvan B7
Hagibis X2
Pioneer SE-E7BT
Automotive DAC Lusya bluetooth 4.0 with AK4490, NE5532
Noname automotive head unit (CSR8645 chip)
Sony DSX-A400BT automotive head unit
Devices which support SBC higher than 512 kbit/s
JBL Everest 310 (617-660 kbps)
JBL T110BT (576 kbps)
JBL Endurance SPRINT (573 kbps)
SoundPEATS Q30
DEXP BT-210 (617 kbps)
DEXP BT-220 (617 kbps)
DEXP BT-260 (617 kbps)
DEXP BT-280 (617 kbps)
Sony WI-C400 (576 kbps)
Sony MDR-ZX770BT (617-660 kbps)
Sony MDR-ZX770BN
Marshall Major II Bluetooth (617-660 kbps)
Overdrive RealForce D1 (730 kbps, dual channel, 4 subbands)
Jaybird X3
QCY QY8 (617 kbps)
Edifier W288BT (617 kbps)
Panasonic RP-BT10 (596 kbps)
LeEco Le Sports BT (617 kbps)
Nomi BT 211 (617 kbps)
Xiaomi Mi Bluetooth Audio Receiver (576 kbps)
Overfly Portable Bluetooth Receiver (617 kbps)
Automotive DAC Lusya bluetooth 4.0 with AK4490, NE5532 (576 kbps)
Devices which don't work with higher bitrates or Dual Channel
Harper HB-202 (cracklings; Beken BK3256 chip)
Sony Ericsson MW600 (high frequency distortion, cracklings; device from 2009)
Sony SBH52 (too slow to handle packet rate)
BlitzWolf BW-F2 (no sound)
Overfly mini Bluetooth receiver (no sound)
Why this is important: SBC 328k and 485k vs aptX
Contrary to popular belief of aptX sound quality, in some cases it can produce worse audio quality than SBC with a standard 328k bitrate.
SBC dynamically allocates quantization bits for frequency bands, acting on a "bottom-to-top" basis. If the whole bitrate was used for the lower and middle frequencies, the upper frequencies are "cut off" (silenced).
aptX quantizes frequency bands with the same number of bits constantly, which makes it a constant bitrate codec: 352 kbps for 44.1 kHz, 384 kbps for 48 kHz. It can't "transfer bits" to frequencies that are mostly needed in them. Unlike SBC, aptX will not "cut" frequencies, but will add quantization noise to them, reducing the dynamic range of audio, and sometimes introducing crackles. SBC, on the contrary, "eats the details" - discards the quietest areas.
On average, compared to SBC 328k, aptX makes less distortion in music with a wide frequency range, but on music with a narrow frequency range and a wide dynamic range SBC 328k sometimes wins.
Let us consider a special case, a piano recording. Here's a spectrogram:
The most energy lies in the 0-4 kHz frequencies, and lasts up to 10 kHz.
The spectrogram of the file aptX file looks like this:
Here is SBC 328k:
It can be seen that the SBC 328k periodically completely cut off the range above 16 kHz, and used all available bitrates for ranges below this value. However, aptX introduced more distortions into the frequency spectrum audible by the human ear, which can be seen on the subtracted original spectrogram from the aptX spectrogram (the brighter, the more distortion):
While the SBC 328k has introduced less distortion the signal in the range from 0 to 10 kHz, and the rest has been сut:
Bitrate 485k for SBC was enough to save the entire frequency range, without cutting off the bands.
SBC 485k on this audio sample is much better than aptX in the range of 0-15 kHz, and with a smaller but still noticeable difference - at 15-22 kHz (the darker, the less distortion):
Switching to a high-bitrate SBC, you will get a sound superior to aptX most of the time, on any headphones.
Bro. The concepts sound amazing.
I have Le Max 2 (Oreo). I have attached Bluetooth .so files.
If you patch I will try on Sony Bluetooth system and share with my friends patched files to see how much it works.
Thanks.
rohit3192 said:
Bro. The concepts sound amazing.
I have Le Max 2 (Oreo). I have attached Bluetooth .so files.
If you patch I will try on Sony Bluetooth system and share with my friends patched files to see how much it works.
Thanks.
Click to expand...
Click to collapse
For some reason I can't download your file, always get 404 not found. Another person with LeEco LeMax 2 (x820) contacted me and I made a patch, but only for 32-bit library. Since your archive is >2 MB, I suppose it contains 32 and 64 bit libraries. Please write your exact OS version and build number.
Would you mind to try? Backup your files first, replace 32-bit library with the file from the archive and rename 64-bit library, so it won't be used, and follow the instructions in the second post to capture the dump and upload it to btcodecs.
OK .
I try. Allow me some time.
Yes both libs were in one file. Now sending you separate libs.
rohit3192 said:
OK .
I try. Allow me some time.
Yes both libs were in one file. Now sending you separate libs.
Click to expand...
Click to collapse
Try these.
I have replaced file in /system/lib with permission.
And renamed /lib64 file as instructed.
Bluetooth switch doing nothing.
After renaming lib64 to original name the Bluetooth switch works and connects.
Build no attached.
rohit3192 said:
I have replaced file in /system/lib with permission.
And renamed /lib64 file as instructed.
Bluetooth switch doing nothing.
After renaming lib64 to original name the Bluetooth switch works and connects.
Build no attached.
Click to expand...
Click to collapse
Please try the latest archive. It includes patched 64 bit libraries.
The new patched 64bit file worked.
Tried 486 one only.
Here is Bluetooth log. (Upload was too slow at given link so sending GD link)
Post edited: thanks @ValdikSS a lot.
rohit3192 said:
Here is Bluetooth log. (Upload was too slow at given link so sending GD link)
Click to expand...
Click to collapse
Yes, it worked, the bitrate is 485 kbit/s. Did you hear any cracklings or interruptions?
The audio you played is of low quality. That's probably an MP3 ~160-192 kbit/s?
There is no crackling. Yes mp3 was of low quality that I tested.
Yet sound seems improved. I will need more time to get proper impression. I will post later here.
Also I have spread the word in few telegram channels.
Thanks
@op here you have my lib from Huawei P9 Android 7.0
Can you check and modded to test. I be test on my LG HBS910 with aptx
https://mega.nz/#!G3gR3RrC!yNysYtkk1DhlBk-ec87bIP56aupCwKvfiWM1k32Qy7k
chudy_85 said:
@op here you have my lib from Huawei P9 Android 7.0
Can you check and modded to test. I be test on my LG HBS910 with aptx
Click to expand...
Click to collapse
Patched version has been added to the second post.
This sound enhancement is only for SBC codec, it won't do anything with aptX. You should disable aptX to test patched version.
Hello
I have 1more ibfree sport headphone that supports AAC HD codec only with apple devices as company has mentioned in their site. (https://india.1more.com/collections...ore-ibfree-sport-bluetooth-earphones-with-mic)
As in your post you have mentioned 1more ibfree, that support aptx codec .
My headphone is newer version of ibfree series.
So the problem is in developer setting I can't change to AAC from SBC codec.
It stays to SBC only so I think I can get help from here from you.
So here the link to those .so files
https://mega.nz/#F!tj5AlahL!yCrNHYB-ft-zaJl2uc7kig
Phone - Le Max2 Lineage Oreo 8.1
AdityaDharewa said:
Hello
So the problem is in developer setting I can't change to AAC from SBC codec.
It stays to SBC only so I think I can get help from here from you.
Phone - Le Max2 Lineage Oreo 8.1
Click to expand...
Click to collapse
Please capture a dump and upload it to https://btcodecs.valdikss.org.ru, you'll see all codec information which the device supports.
And by the way, patched libraries for Le Max2 Oreo are already in the second post, give them a try.
ValdikSS said:
For regular users
Send me your bluetooth stack libraries: /system/lib/hw/bluetooth.default.so and /system/lib64/hw/bluetooth.default.so (if it exists).
Click to expand...
Click to collapse
Hmmm those files don't exist on my device (Pixel 2 XL, Pie 9.0 stock OS)
LeifAlbor said:
Hmmm those files don't exist on my device (Pixel 2 XL, Pie 9.0 stock OS)
Click to expand...
Click to collapse
/system/lib/libbluetooth.so and /system/lib64/libbluetooth.so for Android 9.
ValdikSS said:
/system/lib/libbluetooth.so and /system/lib64/libbluetooth.so for Android 9.
Click to expand...
Click to collapse
Done

Categories

Resources