موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

د دې مقالې لوستلو دمخه، سپارښتنه کیږي چې تاسو پخوانۍ مقاله ولولئ: د بلوتوټ له لارې آډیو: د پروفایلونو ، کوډیکونو او وسیلو په اړه اعظمي توضیحات

د بې سیم هیډفون ځینې کاروونکي د ټیټ غږ کیفیت او د لوړې فریکونسۍ نشتوالي راپور ورکوي کله چې معیاري SBC بلوتوت کوډیک کاروي ، کوم چې د ټولو آډیو وسیلو لخوا ملاتړ کیږي. د غږ ښه کولو لپاره یو عام وړاندیز د وسیلو او هیډفونونو پیرود دی چې د aptX او LDAC کوډیکونو ملاتړ کوي. دا کوډیکونه د جواز ورکولو فیسونو ته اړتیا لري، نو هغه وسایل چې د دوی ملاتړ کوي خورا ګران دي.

دا معلومه شوه چې د SBC ټیټ کیفیت د بلوتوث سټیکونو او هیډفون ترتیباتو مصنوعي محدودیتونو له امله دی، او دا محدودیت په سمارټ فون یا کمپیوټر کې د سافټویر بدلونونو له لارې په هر موجوده وسیلو کې له مینځه وړل کیدی شي.

کوډیک SBC

د SBC کوډیک ډیری مختلف پیرامیټونه لري چې د اتصال تنظیم کولو مرحلې په جریان کې خبرې کیږي. د هغو په منځ کې:

  • د چینلونو شمیر او ډول: ګډ سټیریو، سټیریو، دوه ګونی چینل، مونو؛
  • د فریکونسي بانډونو شمیر: 4 یا 8؛
  • په بسته کې د بلاکونو شمیر: 4، 8، 12، 16؛
  • د مقدار کولو پرمهال د بټ توزیع لپاره الګوریتم: لوړوالی، SNR؛
  • د بټونو د حوض اعظمي او لږترلږه ارزښت د مقدار کولو پرمهال کارول کیږي (بټ پول): معمولا له 2 څخه تر 53 پورې.

د کوډ کولو وسیله باید د دې پیرامیټونو هر ترکیب ملاتړ وکړي. کوډ کوونکی ممکن هرڅه پلي نکړي.
د بلوتوټ موجوده سټیکونه عموما په لاندې پروفایل کې موافق دي: ګډ سټیریو، 8 بینډونه، 16 بلاکس، لوډنس، بټپول 2..53. دا پروفایل د 44.1 kHz آډیو د 328 kbps په بټریټ کې کوډ کوي.
د بټ پول پیرامیټر په مستقیم ډول په یوه پروفایل کې بټریټ اغیزه کوي: څومره چې دا لوړ وي ، د بټریټ لوړ وي او له همدې امله کیفیت.
په هرصورت، د بټپول پیرامیټر په ځانګړي پروفایل پورې تړلی ندی؛ بټریټ هم په پراخه کچه د نورو پیرامیټونو لخوا اغیزمن کیږي: د چینلونو ډول، د فریکونسۍ بډونو شمیر، د بلاکونو شمیر. تاسو کولی شئ په غیر مستقیم ډول د بټ پول بدلولو پرته د غیر معیاري پروفایلونو سره موافقت کولو سره بټریټ زیات کړئ.

موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

د SBC بټریټ محاسبه کولو فورمول

د مثال په توګه، د دوه اړخیز چینل حالت په جلا توګه چینلونه کوډ کوي، د هر چینل لپاره د بشپړ بټپول په کارولو سره. د وسیلې په مجبورولو سره د ګډ سټیریو پرځای دوه ګونی چینل کارولو سره ، موږ د ورته اعظمي بټ پول ارزښت سره نږدې دوه چنده بټریټ ترلاسه کوو: 617 kbps.
زما په اند، د بټ پول ارزښت کارول د خبرو اترو په مرحله کې د پروفایل سره تړلي ندي د A2DP معیار کې نیمګړتیا ده، کوم چې د SBC کیفیت مصنوعي محدودیت المل شوی. دا به د بټپول پرځای د بټریټ په اړه خبرې اترې کولو لپاره ډیر معنی ولري.

دا ثابت شوي بټپول او بټریټ ارزښتونه د لوړ کیفیت آډیو کارولو لپاره وړاندیز شوي ارزښتونو سره د میز څخه سرچینه اخلي. مګر سپارښتنه یو دلیل نه دی چې خپل ځان دې ارزښتونو ته محدود کړي.

موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

د A2DP v1.2 مشخصات، چې له 2007 څخه تر 2015 پورې فعال وو، د کوډ کولو ټول وسایلو ته اړتیا لري چې تر 512 kbps پورې د بټریټ سره سم کار وکړي:

د SNK ډیکوډر باید د ټولو ممکنه بټ پول ارزښتونو ملاتړ وکړي چې پایله یې د اعظمي بټ نرخ څخه ډیر نه وي. دا پروفایل د مونو لپاره 320kb/s او د دوه چینل حالتونو لپاره 512kb/s ته د موجود اعظمي حد حد محدودوي.

د توضیحاتو په نوې نسخه کې د بټریټ محدودیت شتون نلري. اټکل کیږي چې عصري هیډفونونه د 2015 څخه وروسته خپاره شوي چې د EDR ملاتړ کوي کولی شي د بټ نرخونه تر ≈730 kbps پورې ملاتړ وکړي.

د ځینو دلیلونو لپاره، لینکس (PulseAudio)، Android، Blackberry او macOS بلوتوټ سټیکونه چې ما ازموینه کړې د بټپول پیرامیټر اعظمي ارزښت باندې مصنوعي محدودیتونه لري، کوم چې په مستقیم ډول اعظمي بټریټ اغیزه کوي. مګر دا لویه ستونزه نده؛ نږدې ټول هیډفونونه هم د بټ پول اعظمي ارزښت 53 ته محدودوي.
لکه څنګه چې ما دمخه لیدلي ، ډیری وسیلې په بدل شوي بلوتوټ سټیک کې د 551 kbps بټریټ سره په بشپړ ډول کار کوي ، پرته له خنډونو یا کریکونو. مګر دا ډول بټریټ به هیڅکله د نورمال شرایطو لاندې منظم نه وي ، په منظم بلوتوټ سټیکونو کې.

د بلوتوټ سټیک بدلول

هر بلوتوټ سټیک چې د A2DP معیار سره مطابقت لري د دوه اړخیز چینل حالت لپاره ملاتړ لري ، مګر دا ممکنه نده چې دا له انٹرفیس څخه فعاله کړئ.

راځئ چې انٹرفیس ته ټګل اضافه کړو! ما د Android 8.1 او Android 9 لپاره پیچونه جوړ کړي چې سټیک ته د دوه ګوني چینل بشپړ ملاتړ اضافه کوي ، په dev وسیلو کې د موډ توګل مینو ته موډ اضافه کوي ، او د دوه اړخیز چینل فعال شوي SBCs سره چلند کوي لکه څنګه چې دوی اضافي کوډیک وي لکه aptX. ، AAC، یا LDAC (Android دې HD آډیو ته وایي) د بلوتوټ وسیلې ترتیباتو کې د چیک مارک اضافه کولو سره. دا هغه څه دي چې داسې ښکاري:

موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

د Android 9 لپاره پیچ
د Android 8.1 لپاره پیچ

کله چې چیک باکس فعال شي، د بلوتوټ آډیو په بټریټ کې لیږدول پیل کیږي 551 kbps، که هیډفونونه د 3 Mbit/s د ارتباط سرعت ملاتړ کوي ، یا 452 kbps، که هیډفون یوازې 2 Mbit/s ملاتړ کوي.

دا پیچ په لاندې بدیل فرم ویئر کې شامل دی:

  • لینجیسوس
  • د قیامت ریمیکس
  • crDroid

551 او 452 kbit/s له کوم ځای څخه راغلي؟

د بلوتوټ هوایی شریکولو ټیکنالوژي ډیزاین شوې ترڅو په مؤثره توګه د لوی ثابت اندازې کڅوړې انتقال کړي. د ډیټا لیږد په سلاټونو کې واقع کیږي، په یوه لیږد کې د لیږل شوي سلاټونو ترټولو لوی شمیر 5 دی. د لیږد طریقې هم شتون لري چې 1 یا 3 سلاټونه کاروي، مګر 2 یا 4 نه. په 5 سلاټونو کې تاسو کولی شئ د ارتباط سرعت سره تر 679 بایټ پورې انتقال کړئ د 2 Mbit/s او تر 1021 بایټ پورې د 3 Mbit/s په سرعت سره، او په ترتیب سره په 3 - 367 او 552 بایټ کې.

موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

که موږ وغواړو له 679 یا 1021 بایټ څخه لږ ډیټا انتقال کړو ، مګر له 367 یا 552 بایټ څخه ډیر ، لیږد به لاهم 5 سلاټونه واخلي او ډیټا به په ورته وخت کې لیږدول کیږي ، کوم چې د لیږد موثریت کموي.

موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

SBC په دوه ګوني چینل حالت کې، په 44100 Hz آډیو کې د بټپول 38 پیرامیټرو سره، په هر چوکاټ کې 16 بلاکونه، د 8 فریکونسۍ سلسلې، آډیو په 164 بایټ چوکاټونو کې کوډ کوي، د 452 kbps بټریټ سره.
آډیو باید په L2CAP او AVDTP لیږد پروتوکولونو کې ځای په ځای شي ، کوم چې د آډیو پیلډ څخه 16 بایټونه اخلي.

موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

په دې توګه، د 5 سلاټونو سره یو بلوتوټ لیږد کولی شي 4 آډیو چوکاټونه ځای په ځای کړي:

679 (EDR 2 mbit/s DH5) - 4 (L2CAP) - 12 (AVDTP/RTP) - 1 (заголовок SBC) - (164*4) = 6

موږ 11.7 ms آډیو ډیټا په هغه کڅوړه کې فټ کوو چې لیږل کیږي، کوم چې به په 3.75 ms کې لیږدول کیږي، او موږ په کڅوړه کې 6 نه کارول شوي بایټونه پاتې یو.
که تاسو بټ پول یو څه لوړ کړئ ، نو دا به نور امکان ونلري چې 4 آډیو چوکاټونه په یوه کڅوړه کې بسته کړئ. تاسو باید په یو وخت کې 3 چوکاټونه واستوئ، کوم چې د لیږد موثریت کموي، په هر چوکاټ کې د لیږدول شوي آډیو اندازه کموي، او ډیر ژر به د خراب راډیو شرایطو کې د آډیو سټینګ کولو المل شي.

په ورته ډول، د EDR 551 Mbit/s لپاره د 3 kbit/s بټریټ غوره شوی: د Bitpool 47 سره، په هر چوکاټ کې 16 بلاکونه، د 8 فریکونسۍ سلسلې، د چوکاټ اندازه 200 بایټ ده، د 551 kbit/s بټریټ سره. یوه کڅوړه 5 چوکاټونه یا 14.6 ms میوزیک لري.

د ټولو SBC پیرامیټونو محاسبه کولو لپاره الګوریتم خورا پیچلی دی ، تاسو کولی شئ په اسانۍ سره مغشوش شئ که تاسو په لاسي ډول حساب کړئ ، نو ما د علاقه مندانو سره د مرستې لپاره یو متقابل کیلکولیټر جوړ کړ: btcodecs.valdikss.org.ru/sbc-bitrate-calculator

ولې دې ټولو ته اړتیا ده؟

د AptX کوډیک د غږ کیفیت په اړه د مشهور باور برعکس، په ځینو فایلونو کې دا کولی شي د 328 kbps معیاري بټریټ سره د SBC څخه بد پایلې تولید کړي.

SBC په متحرک ډول د ټیټ څخه تر لوړې کچې فریکونسۍ بانډونو ته د مقدار کولو بټونه تخصیص کوي. که چیرې ټول بټریټ د ټیټ او مینځنۍ فریکونسۍ لپاره کارول شوي وي ، نو لوړې فریکونسۍ به "پرېښودل شي" (د دې پرځای به چوپتیا وي).
aptX هر وخت د ورته شمیر بټونو سره د فریکونسۍ بډونه مقدار کوي ، له همدې امله دا ثابت بټریټ لري: 352 kbps د 44.1 kHz لپاره ، 384 kbps د 48 kHz لپاره ، او دا نشي کولی هغه فریکونسیو ته "بټ-شفټ" وکړي چې ورته اړتیا لري. . د SBC په خلاف، aptX به فریکونسۍ "کټ" نه کړي، مګر دوی ته به د مقدار کولو شور اضافه کړي، د آډیو متحرک حد کم کړي، او ځینې وختونه د ځانګړتیاوو کریکنګ معرفي کړي. SBC "تفصیلات خوري" - ترټولو خاموش ځایونه پریږدي.
په اوسط ډول ، د SBC 328k په پرتله ، aptX د پراخه فریکونسۍ رینج سره په میوزیک کې لږ تحریف معرفي کوي ، مګر په میوزیک کې د محدود فریکونسۍ رینج او پراخه متحرک رینج سره ، SBC 328k ځینې وختونه وګټي.

راځئ چې یوه ځانګړې قضیه په پام کې ونیسو. د پیانو غږولو د ثبتولو سپیکٹروګرام:
موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

اصلي انرژي د 0 څخه تر 4 kHz پورې فریکونسۍ کې ده، او تر 10 kHz پورې دوام لري.
په aptX کې د کمپریس شوي فایل سپیکٹروګرام داسې ښکاري:
موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

او دا هغه څه دي چې SBC 328k ورته ښکاري.
موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

دا لیدل کیدی شي چې SBC 328k په دوره توګه د 16 kHz څخه پورته حد په بشپړ ډول بند کړی، او د دې ارزښت لاندې رینجونو کې ټول موجود بټریټ مصرف کړي. په هرصورت، AptX د انسان غوږ ته د اوریدلو وړ فریکونسۍ سپیکٹرم کې ډیر تحریف معرفي کړ، لکه څنګه چې د AptX سپیکٹروگرام (روښانه، ډیر تحریف) څخه فرعي اصلي سپیکٹروگرام کې لیدل کیدی شي:
موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

پداسې حال کې چې SBC 328k د 0 څخه تر 10 kHz پورې حد کې سیګنال لږ خراب کړ ، او پاتې یې پرې کړل:
موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

د SBC 485k بټریټ د بشپړ فریکونسۍ رینج ساتلو لپاره کافي و ، پرته له بندونو غیر فعال کولو.
موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

SBC 485k د 0-15 kHz حد کې په دې ټریک کې د aptX څخه د پام وړ مخکې دی ، د 15-22 kHz کوچني مګر لاهم د پام وړ توپیر سره (څومره تیاره چې لږ تحریف):
موږ د AAC، aptX او LDAC کوډیکونو پرته په هیډفونونو کې غږ ښه کولو لپاره د بلوتوټ سټیک ترمیم کوو

د اصلي آډیو آرشیف، SBC او aptX.

د لوړ بټریټ SBC ته په تګ کولو سره ، تاسو به آډیو ترلاسه کړئ چې ډیری وختونه په هر هیډفون کې AptX ماتوي. په هیډفونونو کې چې د 3 Mbps EDR ارتباط ملاتړ کوي ، د 551 kbps بټریټ د AptX HD سره پرتله کولو وړ غږ تولیدوي.

ایا تاسو نور هم کولی شئ؟

د Android پیچ کې د 2 Mbps EDR وسیلو لپاره د بټریټ نور زیاتولو اختیار هم شامل دی. تاسو کولی شئ بټریټ له 452 kbit/s څخه 595 kbit/s ته لوړ کړئ، په سختو راډیو شرایطو کې د لیږد ثبات کمولو لګښت.
دا کافی دی چې د persist.bluetooth.sbc_hd_higher_bitrate متغیر 1 ته تنظیم کړئ:

# setprop persist.bluetooth.sbc_hd_higher_bitrate 1

د خورا بټریټ پیچ تر دې دمه یوازې په LineageOS 15.1 کې منل شوی ، مګر په 16.0 کې نه.

د وسیلې مطابقت

د SBC ډبل چینل نږدې ټولو هیډفونونو ، سپیکرو او د موټر سر واحدونو لخوا ملاتړ کیږي. دا د حیرانتیا خبره نه ده - معیار د کوډ کولو وسیلو کې د هغې ملاتړ ته اړتیا لري. دلته یو لږ شمیر وسایل شتون لري چې پدې حالت کې ستونزې رامینځته کوي، مګر دا جلا جلا بیلګې دي.
د مطابقت لرونکي وسیلو په اړه نور توضیحات په کې موندل کیدی شي 4pda او یا xda-پرمختگپالونکي.

د غږ توپیرونو پرتله کول

ما یو ویب خدمت جوړ کړی چې په ریښتیني وخت کې په براوزر کې SBC (په بیله بیا aptX او aptX HD) ته آډیو کوډ کوي. د دې سره، تاسو کولی شئ د مختلف SBC پروفایلونو او نورو کوډیکونو غږ پرتله کړئ، پرته له دې چې په حقیقت کې د بلوتوټ له لارې آډیو لیږدولو، په هر وایرډ هیډفونونو، سپیکرو او ستاسو د خوښې میوزیک کې، او د آډیو غږولو پرمهال مستقیم د کوډ کولو پیرامیټونه هم بدل کړئ.
btcodecs.valdikss.org.ru/sbc-encoder

د Android پراختیا کونکو سره اړیکه ونیسئ

ما په ګوګل کې ډیری بلوتوث سټیک پراختیا کونکو ته لیکلي چې له دوی څخه یې وغوښتل چې د اصلي Android څانګې - AOSP کې د پیچونو په شمول غور وکړي ، مګر یو ځواب یې ترلاسه نه کړ. زما پیچونه دننه د Android لپاره د ګیرټ پیچ سیسټم هم د ښکیلو کسانو له نظره پرته پاتې شو.
زه به خوشحاله شم که زه په ګوګل کې د پراختیا کونکو سره په تماس کې او Android ته SBC HD راوستلو کې مرسته ترلاسه کړم. په ګیرټ کې پیچ لا دمخه زوړ شوی دی (دا یو له لومړنیو بیاکتنو څخه دی) ، او زه به یې تازه کړم که چیرې پراختیا کونکي زما بدلونونو سره علاقه ولري (د دې تازه کول زما لپاره اسانه ندي ، زه د Android Q سره مطابقت لرونکي وسیلې نلرم. ).

پایلې

د LineageOS، Resurrection Remix او crDroid فرم ویئر سره د سمارټ فونونو کاروونکي کولی شي همدا اوس د غږ کیفیت له ښه کیفیت څخه خوند واخلي، یوازې د بلوتوت وسیلې په ترتیباتو کې اختیار فعال کړئ. د لینوکس کاروونکي کولی شي د نصبولو له لارې د SBC بټریټ زیات کړي پیچ له پال روهر څخه، کوم چې د نورو شیانو په مینځ کې ، د aptX ، aptX HD او FastStream کوډیکونو لپاره ملاتړ اضافه کوي.

سرچینه: www.habr.com

Add a comment