{"id":35159,"date":"2019-10-31T22:02:38","date_gmt":"2019-10-31T19:02:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac\/"},"modified":"2019-10-31T22:02:38","modified_gmt":"2019-10-31T19:02:38","slug":"modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac","title":{"rendered":"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Antes de leer este art\u00edculo, se recomienda familiarizarse con el art\u00edculo anterior: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/427997\/\">Audio a trav\u00e9s de Bluetooth: todo lo que necesitas saber sobre perfiles, codecs y dispositivos.<\/a><\/noindex><\/i><\/p>\n<p>Algunos usuarios de auriculares inal\u00e1mbricos reportan una baja calidad de sonido y una falta de agudos al utilizar el c\u00f3dec Bluetooth est\u00e1ndar SBC, que es compatible con todos los dispositivos de audio. Una recomendaci\u00f3n com\u00fan para mejorar el sonido es comprar dispositivos y auriculares que soporten los c\u00f3decs aptX y LDAC. Estos c\u00f3decs requieren regal\u00edas de licencia, por lo que los dispositivos que los soportan son m\u00e1s caros.<\/p>\n<p>Resulta que la baja calidad de SBC se debe a limitaciones artificiales en los pilas Bluetooth y configuraciones de los auriculares, y esta limitaci\u00f3n se puede eludir en cualquier dispositivo existente mediante cambios de software en el tel\u00e9fono inteligente o computadora.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>C\u00f3dec SBC<\/h2>\n<p>El c\u00f3dec SBC tiene muchos par\u00e1metros diferentes que se acuerdan en la etapa de establecimiento de conexi\u00f3n. Entre ellos:<\/p>\n<ul>\n<li>N\u00famero y tipo de canales: Joint Stereo, Stereo, Dual Channel, Mono;<\/li>\n<li>N\u00famero de bandas de frecuencias: 4 u 8;<\/li>\n<li>N\u00famero de bloques en el paquete: 4, 8, 12, 16;<\/li>\n<li>Algoritmo de distribuci\u00f3n de bits durante la cuantificaci\u00f3n: Loudness, SNR;<\/li>\n<li>Valor m\u00e1ximo y m\u00ednimo del pool de bits utilizados durante la cuantificaci\u00f3n (bitpool): normalmente, de 2 a 53.<\/li>\n<\/ul>\n<p>El dispositivo decodificador debe soportar cualquier combinaci\u00f3n de estos par\u00e1metros. El dispositivo codificador puede no implementar todos.<br \/>\nLas pilas Bluetooth existentes generalmente acuerdan el siguiente perfil: Joint Stereo, 8 bandas, 16 bloques, Loudness, bitpool 2..53. Este perfil codifica audio de 44.1 kHz con una tasa de bits de 328 kbps.<br \/>\nEl par\u00e1metro bitpool afecta directamente la tasa de bits dentro de un perfil: cuanto m\u00e1s alto sea, mayor ser\u00e1 la tasa de bits y, por lo tanto, la calidad.<br \/>\nSin embargo, el par\u00e1metro bitpool no est\u00e1 vinculado a un perfil espec\u00edfico; la influencia en la tasa de bits tambi\u00e9n se ve afectada significativamente por otros par\u00e1metros: tipo de canales, n\u00famero de bandas de frecuencias, n\u00famero de bloques. Se puede aumentar la tasa de bits indirectamente, acordando perfiles no est\u00e1ndar, sin alterar el bitpool.<\/p>\n<p><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/4836fdb65b1204173bd6e01ef2d0cc6c.svg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n<i>F\u00f3rmula para calcular la tasa de bits de SBC<\/i><\/p>\n<p>\nPor ejemplo, el modo Dual Channel codifica los canales por separado, utilizando todo el bitpool para cada uno de los canales. Al obligar al dispositivo a utilizar Dual Channel en lugar de Joint Stereo, obtendremos casi el doble de la tasa de bits con el mismo valor m\u00e1ximo de bitpool: 617 kbps.<br \/>\nEn mi opini\u00f3n, el uso de un valor de bitpool no vinculado al perfil en la etapa de negociaci\u00f3n es una deficiencia del est\u00e1ndar A2DP, que ha llevado a una limitaci\u00f3n artificial de la calidad SBC. Ser\u00eda m\u00e1s sensato acordar el bitrate en lugar de bitpool.<\/p>\n<p>Estos valores fijos de Bitpool y Bitrate se originan en una tabla de valores recomendados para su uso en audio de alta calidad. Pero una recomendaci\u00f3n no es motivo para restringirse a estos valores.<\/p>\n<p><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/1076b610245c4bcb88e5812bdea27e60.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLa especificaci\u00f3n A2DP v1.2, vigente desde 2007 hasta 2015, estipula que todos los dispositivos de decodificaci\u00f3n deben funcionar correctamente con bitrates de hasta 512 kbps:<\/p>\n<blockquote><p>El decodificador del SNK deber\u00e1 soportar todos los posibles valores de bitpool que no superen el bitrate m\u00e1ximo. Este perfil limita el bitrate m\u00e1ximo disponible a 320 kbps para mono, y 512 kbps para modos de dos canales.<\/p><\/blockquote>\n<p>En la nueva versi\u00f3n de la especificaci\u00f3n no hay limitaciones de bitrate. Se supone que los auriculares modernos, lanzados despu\u00e9s de 2015 y que soportan EDR, pueden admitir bitrates de hasta \u2248730 kbps.<\/p>\n<p>Por alguna raz\u00f3n, los stacks de Bluetooth de Linux (PulseAudio), Android, Blackberry y macOS que he comprobado tienen limitaciones artificiales en el valor m\u00e1ximo del par\u00e1metro bitpool, lo que afecta directamente al bitrate m\u00e1ximo. Pero este no es el mayor problema, casi todos los auriculares tambi\u00e9n limitan el valor m\u00e1ximo de bitpool a 53.<br \/>\nComo ya he podido comprobar, la mayor\u00eda de los dispositivos funcionan perfectamente con un stack de Bluetooth modificado a un bitrate de 551 kbps, sin interrupciones ni ruidos. Pero tal bitrate nunca se acordar\u00e1 en condiciones normales, en stacks de Bluetooth convencionales.<\/p>\n<h2>Modificando el stack de Bluetooth<\/h2>\n<p>En cualquier stack de Bluetooth que sea compatible con el est\u00e1ndar A2DP, hay soporte para el modo Dual Channel, pero activarlo desde la interfaz no parece posible.<\/p>\n<p>\u00a1A\u00f1adamos un interruptor a la interfaz! He hecho parches para Android 8.1 y Android 9 que a\u00f1aden soporte completo para Dual Channel al stack, a\u00f1aden el modo al men\u00fa de selecci\u00f3n de modo en herramientas para desarrolladores, y manejan SBC con soporte para Dual Channel como si fuera un c\u00f3dec adicional, como aptX, AAC o LDAC (Android lo llama HD Audio), a\u00f1adiendo una casilla en la configuraci\u00f3n del dispositivo Bluetooth. As\u00ed es como se ve:<\/p>\n<p><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/5f14e2955f1dcaefa8ddc4b8fa413de1.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/review.lineageos.org\/q\/topic:bt-sbc-hd-dualchannel-pie+(status:open%20OR%20status:merged)\">Parche para Android 9<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/review.lineageos.org\/q\/topic:bt-sbc-hd-dualchannel+(status:open%20OR%20status:merged)\">Parche para Android 8.1<\/a><\/noindex><\/p>\n<p>Al activar la casilla, el audio Bluetooth comienza a transmitirse a un bitrate de <b>551 kbps<\/b>, si los auriculares soportan una conexi\u00f3n a 3 Mbps, o <b>452 kbit\/s<\/b>, si los auriculares solo soportan 2 mbit\/s.<\/p>\n<p>Este parche est\u00e1 incluido en los siguientes firmware alternativos:<\/p>\n<ul>\n<li><b>LineageOS<\/b><\/li>\n<li><b>Resurrection Remix<\/b><\/li>\n<li><b>crDroid<\/b><\/li>\n<\/ul>\n<h2>\u00bfDe d\u00f3nde provienen 551 y 452 kbit\/s?<\/h2>\n<p>La tecnolog\u00eda de partici\u00f3n de aire en Bluetooth est\u00e1 dise\u00f1ada para la transmisi\u00f3n eficiente de grandes paquetes de tama\u00f1o fijo. La transmisi\u00f3n de datos ocurre en ranuras, siendo la mayor cantidad de ranuras enviadas en una transmisi\u00f3n \u2014 5. Tambi\u00e9n hay modos de transmisi\u00f3n que utilizan 1 o 3 ranuras, pero no 2 o 4. En 5 ranuras se pueden transmitir hasta 679 bytes a una velocidad de conexi\u00f3n de 2 mbit\/s y hasta 1021 bytes a una velocidad de 3 mbit\/s, y en 3 \u2014 367 y 552 bytes, respectivamente.<\/p>\n<p><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/c4596cb8ebdbaf2b57e201117e640f2f.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSi queremos transmitir menos datos que 679 o 1021 bytes, pero m\u00e1s que 367 o 552 bytes, la transmisi\u00f3n a\u00fan ocupar\u00e1 5 ranuras y los datos se transmitir\u00e1n en el mismo tiempo, lo que reduce la eficiencia de la transmisi\u00f3n.<\/p>\n<p><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/c9b0645c78d41d7d3a9879930c091d2a.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSBC en modo Dual Channel, con audio de 44100 Hz con par\u00e1metros de Bitpool 38, 16 bloques por marco, 8 rangos de frecuencia, codifica audio en marcos de 164 bytes, con un bitrate de 452 kbit\/s.<br \/>\nEl audio debe estar encapsulado en los protocolos de transmisi\u00f3n L2CAP y AVDTP, que utilizan 16 bytes de la carga \u00fatil de audio.<\/p>\n<p><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/2fd899e7b521497844e1354ae5f825eb.svg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>As\u00ed, en una transmisi\u00f3n Bluetooth con 5 ranuras caben 4 marcos de audio:<\/p>\n<pre><code class=\"plaintext\">679 (EDR 2 mbit\/s DH5) - 4 (L2CAP) - 12 (AVDTP\/RTP) - 1 (encabezado SBC) - (164*4) = 6<\/code><\/pre>\n<p>\nHemos incluido 11.7 ms de datos de audio en el paquete enviado, que se transmitir\u00e1 en 3.75 ms, y nos quedaron 6 bytes no utilizados en el paquete.<br \/>\nSi se aumenta un poco el bitpool, ya no se podr\u00e1n empaquetar 4 marcos de audio en un solo paquete. Tendremos que enviar 3 marcos a la vez, lo que reduce la eficiencia de la transmisi\u00f3n, disminuye la cantidad de audio transmitido en un solo paquete y resultar\u00e1 en interrupciones de audio m\u00e1s r\u00e1pidas bajo malas condiciones de radio.<\/p>\n<p>De la misma manera, se ajust\u00f3 la tasa de bits a 551 kbit\/s para EDR 3 mbit\/s: con Bitpool 47, 16 bloques por marco, 8 rangos de frecuencia, se obtiene un tama\u00f1o de marco de 200 bytes, con una tasa de bits de 551 kbit\/s. En un paquete se pueden incluir 5 marcos o 14.6 ms de m\u00fasica.<\/p>\n<p>El algoritmo para calcular todos los par\u00e1metros de SBC es bastante complicado, se puede confundirse f\u00e1cilmente si se cuenta manualmente, por lo que hice una calculadora interactiva para ayudar a los interesados: <noindex><a rel=\"nofollow\" href=\"https:\/\/btcodecs.valdikss.org.ru\/sbc-bitrate-calculator\/\">btcodecs.valdikss.org.ru\/sbc-bitrate-calculator<\/a><\/noindex><\/p>\n<h2>\u00bfPara qu\u00e9 sirve todo esto?<\/h2>\n<p>A pesar de la creencia com\u00fan sobre la calidad de sonido del c\u00f3dec aptX, en algunos archivos puede ofrecer resultados peores que el SBC con la tasa de bits est\u00e1ndar de 328 kbit\/s.<\/p>\n<p>El SBC asigna din\u00e1micamente bits de cuantificaci\u00f3n a bandas de frecuencia, funcionando seg\u00fan el principio de \"de abajo hacia arriba\". Si se utiliza toda la tasa de bits en frecuencias bajas y medias, las frecuencias altas se \"cortar\u00e1n\" (en su lugar habr\u00e1 silencio).<br \/>\naptX cuantifica las bandas de frecuencia con la misma cantidad de bits de forma constante, lo que le da una tasa de bits fija: 352 kbit\/s para 44.1 kHz, 384 kbit\/s para 48 kHz, y no puede \"trasladar bits\" a aquellas frecuencias que m\u00e1s los necesitan. A diferencia de SBC, aptX no \"cortar\u00e1\" las frecuencias, sino que a\u00f1adir\u00e1 ruidos de cuantificaci\u00f3n, reduciendo el rango din\u00e1mico del audio, y a veces introduciendo crujidos caracter\u00edsticos. SBC, en cambio, \"se lleva detalles\" \u2014 desecha las partes m\u00e1s suaves.<br \/>\nEn promedio, en comparaci\u00f3n con SBC 328k, aptX introduce menos distorsiones en m\u00fasica con un amplio rango de frecuencias, pero en m\u00fasica con un rango de frecuencias estrecho y un amplio rango din\u00e1mico, SBC 328k a veces gana.<\/p>\n<p>Consideremos un caso particular. Espectrograma de una grabaci\u00f3n de piano:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/er\/nq\/rc\/ernqrcwa0ic5mqwopjg5zbu_fxm.png\"><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/91247edc12764c6a4985e5a58ec1ad81.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>La energ\u00eda principal se encuentra en las frecuencias de 0 a 4 kHz, y se extiende hasta 10 kHz.<br \/>\nEl espectrograma de un archivo comprimido en aptX se ve de la siguiente manera:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/dl\/bl\/do\/dlbldoq_rdrjykephl2ostfbafk.png\"><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/aad46eb446ac9c5cffbd0ce8bd11e45b.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>As\u00ed es como se ve SBC 328k.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/us\/3m\/ke\/us3mke0av1s_1ezkyk6ycq1g2vo.png\"><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/1b879741ea109c10c9e94a9a17830fc6.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Se puede ver que SBC 328k peri\u00f3dicamente desconectaba completamente el rango por encima de 16 kHz, y utilizaba toda la tasa de bits disponible en los rangos inferiores a este valor. Sin embargo, aptX introdujo m\u00e1s distorsiones en el espectro de frecuencias audible al o\u00eddo humano, como se puede ver en el espectrograma original resta del espectrograma de aptX (cuanto m\u00e1s brillante, m\u00e1s distorsiones):<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ug\/-i\/5z\/ug-i5zpihrfnvumf9no_glecqna.png\"><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/7820015a2ef3c7f97802de179f2201eb.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Mientras que SBC 328k arruin\u00f3 menos la se\u00f1al en el rango de 0 a 10 kHz, el resto fue cortado:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/tf\/x8\/7z\/tfx87z8hpenx51spblrfvkc-ihe.png\"><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/793e3011a6aa07f1750cf0a5cca204cf.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>La tasa de bits de 485k de SBC fue suficiente para conservar todo el rango de frecuencias, sin desconectar bandas.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/_c\/mc\/xy\/_cmcxyxwlf7u4tv-rbplwk5bmtu.png\"><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/27f215a26658b9b2bf3d852f4da96740.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>SBC 485k en esta composici\u00f3n supera significativamente a aptX en el rango de 0-15 kHz, y con una diferencia menor, pero a\u00fan notable, en 15-22 kHz (cuanto m\u00e1s oscuro, menos distorsiones):<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/e-\/qz\/h8\/e-qzh8azmingcbhvuwxj8iptuau.png\"><img decoding=\"async\" alt=\"Modificamos el stack de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC.\" src=\"\/wp-content\/uploads\/2019\/06\/b65c37703ee677f561929ba714ed19ec.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/files.catbox.moe\/kpx711.zip\">Archivo de audio original, SBC y aptX<\/a><\/noindex>.<\/p>\n<p>Al cambiar a SBC de alta tasa de bits, obtendr\u00e1s un sonido que a menudo supera a aptX en cualquier par de auriculares. En auriculares que soportan conexi\u00f3n EDR de 3 Mbit\/s, una tasa de 551 kbit\/s proporciona un sonido comparable al aptX HD.<\/p>\n<h2>\u00bfSe puede obtener a\u00fan m\u00e1s?<\/h2>\n<p>En el parche para Android tambi\u00e9n hay una opci\u00f3n para aumentar a\u00fan m\u00e1s la tasa de bits para dispositivos EDR a 2 Mbps. Se puede aumentar la tasa de bits de 452 kbps a 595 kbps, a costa de disminuir la estabilidad de la transmisi\u00f3n en condiciones de radio dif\u00edciles.<br \/>\nBasta con establecer la variable persist.bluetooth.sbc_hd_higher_bitrate en el valor 1:<\/p>\n<pre><code class=\"plaintext\"># setprop persist.bluetooth.sbc_hd_higher_bitrate 1<\/code><\/pre>\n<p>\nEl parche para la tasa de bits extrema ha sido aceptado solo en LineageOS 15.1, pero no en 16.0.<\/p>\n<h2>Compatibilidad con dispositivos<\/h2>\n<p>SBC Dual Channel es compatible con pr\u00e1cticamente todos los auriculares, altavoces y unidades principales de autom\u00f3viles. No es sorprendente, ya que el est\u00e1ndar exige su soporte en todos los dispositivos de decodificaci\u00f3n. Hay un peque\u00f1o n\u00famero de dispositivos en los que este modo causa problemas, pero son casos aislados.<br \/>\nPara m\u00e1s detalles sobre dispositivos compatibles, puede consultar <noindex>4pda<\/noindex> o <noindex><a rel=\"nofollow\" href=\"https:\/\/forum.xda-developers.com\/android\/software-hacking\/improve-bluetooth-audio-quality-t3832615\">xda-developers<\/a><\/noindex>.<\/p>\n<h2>Comparaci\u00f3n de diferencias de sonido<\/h2>\n<p>He creado un servicio web que codifica audio en SBC (as\u00ed como aptX y aptX HD) en tiempo real, directamente en el navegador. Con \u00e9l, podr\u00e1 comparar el sonido de varios perfiles SBC y otros c\u00f3decs, sin transmitir realmente audio por Bluetooth, en cualquier auricular o altavoz por cable, y con su m\u00fasica favorita, y tambi\u00e9n modificar los par\u00e1metros de codificaci\u00f3n mientras se reproduce el audio.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/btcodecs.valdikss.org.ru\/sbc-encoder\/\">btcodecs.valdikss.org.ru\/sbc-encoder<\/a><\/noindex><\/p>\n<h2>Contacto con los desarrolladores de Android<\/h2>\n<p>He escrito a muchos desarrolladores del stack Bluetooth de Google, solicitando que consideren incluir parches en la rama principal de Android \u2014 AOSP, pero no he recibido ninguna respuesta. Mis parches en <noindex><a rel=\"nofollow\" href=\"https:\/\/android-review.googlesource.com\/q\/topic:bt-sbc-hd-dualchannel+(status:open%20OR%20status:merged)\">el sistema de manejo de parches Gerrit para Android<\/a><\/noindex> tambi\u00e9n han quedado sin comentarios por parte de alguien involucrado.<br \/>\nMe encantar\u00eda si pudiera facilitarme un contacto con los desarrolladores de Google para la implementaci\u00f3n de SBC HD en Android. El parche en gerrit ya est\u00e1 desactualizado (es una de las primeras revisiones), y lo actualizar\u00e9 si a los desarrolladores les interesan mis cambios (no me resulta f\u00e1cil actualizarlo, no tengo dispositivos compatibles con Android Q).<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Los usuarios de smartphones con ROMs LineageOS, Resurrection Remix y crDroid ya pueden disfrutar de una mejor calidad de sonido ahora mismo, solo tienen que activar la opci\u00f3n en la configuraci\u00f3n del dispositivo Bluetooth. Los usuarios de Linux tambi\u00e9n pueden obtener una mayor tasa de bits SBC, instalando <noindex><a rel=\"nofollow\" href=\"https:\/\/lists.freedesktop.org\/archives\/pulseaudio-discuss\/2019-June\/031168.html\">el parche de Pali Roh\u00e1r<\/a><\/noindex>, que, adem\u00e1s de todo, a\u00f1ade soporte para los c\u00f3decs aptX, aptX HD y FastStream.<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/455316\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439: \u0410\u0443\u0434\u0438\u043e \u0447\u0435\u0440\u0435\u0437 Bluetooth: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u0445, \u043a\u043e\u0434\u0435\u043a\u0430\u0445 \u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u044b\u0445 \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u043e\u0432 \u043e\u0442\u043c\u0435\u0447\u0430\u044e\u0442 \u043d\u0438\u0437\u043a\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0432\u0443\u043a\u0430 \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0432\u044b\u0441\u043e\u043a\u0438\u0445 \u0447\u0430\u0441\u0442\u043e\u0442 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e Bluetooth-\u043a\u043e\u0434\u0435\u043a\u0430 SBC, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0432\u0441\u0435 \u0430\u0443\u0434\u0438\u043e\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0427\u0430\u0441\u0442\u043e\u0439 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0435\u0439 \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0437\u0432\u0443\u043a\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043a\u0443\u043f\u043a\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u043e\u0432 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043a\u043e\u0434\u0435\u043a\u043e\u0432 aptX \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35159","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439: \u0410\u0443\u0434\u0438\u043e \u0447\u0435\u0440\u0435\u0437 Bluetooth: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u0445, \u043a\u043e\u0434\u0435\u043a\u0430\u0445 \u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c Bluetooth-\u0441\u0442\u0435\u043a \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0437\u0432\u0443\u043a\u0430 \u043d\u0430 \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u0430\u0445 \u0431\u0435\u0437 \u043a\u043e\u0434\u0435\u043a\u043e\u0432 AAC, aptX \u0438 LDAC | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439: \u0410\u0443\u0434\u0438\u043e \u0447\u0435\u0440\u0435\u0437 Bluetooth: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u0445, \u043a\u043e\u0434\u0435\u043a\u0430\u0445 \u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:02:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:02:38+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Modificamos la pila de Bluetooth para mejorar el sonido en los auriculares sin c\u00f3decs AAC, aptX y LDAC | ProHoster","description":"Antes de leer este art\u00edculo, se recomienda familiarizarse con el art\u00edculo anterior: Audio a trav\u00e9s de Bluetooth: todo lo que necesitas saber sobre perfiles, c\u00f3decs y.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c Bluetooth-\u0441\u0442\u0435\u043a \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0437\u0432\u0443\u043a\u0430 \u043d\u0430 \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u0430\u0445 \u0431\u0435\u0437 \u043a\u043e\u0434\u0435\u043a\u043e\u0432 AAC, aptX \u0438 LDAC | ProHoster","og:description":"\u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439: \u0410\u0443\u0434\u0438\u043e \u0447\u0435\u0440\u0435\u0437 Bluetooth: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u0445, \u043a\u043e\u0434\u0435\u043a\u0430\u0445 \u0438.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:02:38+00:00","article:modified_time":"2019-10-31T19:02:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35159","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 22:08:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:47:35","updated":"2026-01-21 22:08:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/35159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=35159"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/35159\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=35159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=35159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=35159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}