صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

با توجه به تولید انبوه گوشی‌های هوشمند بدون جک 3.5 میلی‌متری صدا، هدفون‌های بلوتوث بی‌سیم به اصلی‌ترین راه برای گوش دادن به موسیقی و برقراری ارتباط در حالت هدست تبدیل شده‌اند.
سازندگان دستگاه های بی سیم همیشه مشخصات دقیق محصول را نمی نویسند و مقالات مربوط به صدای بلوتوث در اینترنت متناقض هستند، گاهی اوقات نادرست هستند، در مورد همه ویژگی ها صحبت نمی کنند و اغلب همان اطلاعاتی را کپی می کنند که با واقعیت مطابقت ندارد.
بیایید سعی کنیم پروتکل، قابلیت‌های پشته‌های سیستم عامل بلوتوث، هدفون و بلندگوها، کدک‌های بلوتوث برای موسیقی و گفتار را درک کنیم، دریابیم که چه چیزی بر کیفیت صدای ارسالی و تأخیر تأثیر می‌گذارد، نحوه جمع‌آوری و رمزگشایی اطلاعات مربوط به کدک‌های پشتیبانی شده و سایر دستگاه‌ها را بیاموزیم. توانایی ها.

TL؛ DR:

  • SBC - کدک معمولی
  • هدفون دارای اکولایزر و پس پردازش مخصوص به خود برای هر کدک به طور جداگانه است
  • aptX به خوبی که تبلیغ می شود نیست
  • LDAC یک مزخرف بازاریابی است
  • کیفیت تماس همچنان ضعیف است
  • می‌توانید رمزگذارهای صوتی C را با کامپایل کردن آن‌ها در WebAssembly از طریق emscripten در مرورگر خود جاسازی کنید، و سرعت آن‌ها زیاد کاهش نخواهد یافت.

موسیقی از طریق بلوتوث

جزء عملکردی بلوتوث توسط پروفایل ها - مشخصات عملکردهای خاص تعیین می شود. پخش موسیقی بلوتوث از نمایه انتقال صدای یک طرفه A2DP با کیفیت بالا استفاده می کند. استاندارد A2DP در سال 2003 به تصویب رسید و از آن زمان تاکنون تغییر قابل توجهی نکرده است.
در داخل نمایه، 1 کدک اجباری با پیچیدگی محاسباتی کم SBC، که به طور خاص برای بلوتوث ایجاد شده است، و 3 کدک اضافی استاندارد شده است. همچنین این امکان وجود دارد که از کدک های غیرمستند پیاده سازی خود استفاده کنید.

از ژوئن 2019 ما هستیم در کمیک xkcd با 14 کدک A2DP:

  • SBC ← استاندارد شده در A2DP، پشتیبانی شده توسط همه دستگاه ها
  • MPEG-1/2 Layer 1/2/3 ← استاندارد شده در A2DP: به خوبی شناخته شده است MP3، در تلویزیون دیجیتال استفاده می شود MP2، و ناشناخته MP1
  • MPEG-2/4 AAC ← استاندارد شده در A2DP
  • ATTRAC ← کدک قدیمی از سونی، استاندارد شده در A2DP
  • LDAC ← کدک جدید سونی
  • aptX پشتیبانی میکند ← کدک از سال 1988
  • aptXHD ← همانند aptX، فقط با گزینه های مختلف رمزگذاری
  • aptX تأخیر کم ← کدک کاملا متفاوت، بدون اجرای نرم افزار
  • aptX تطبیقی ← کدک دیگری از کوالکام
  • FastStream ← شبه کدک، اصلاح دو جهته SBC
  • HWA LHDC ← کدک جدید هواوی
  • سامسونگ HD ← توسط 2 دستگاه پشتیبانی می شود
  • مقیاس پذیر سامسونگ ← توسط 2 دستگاه پشتیبانی می شود
  • سامسونگ UHQ-BT ← توسط 3 دستگاه پشتیبانی می شود

می‌پرسید چرا اصلاً به کدک نیاز داریم، وقتی بلوتوث دارای EDR است که به شما امکان می‌دهد اطلاعات را با سرعت ۲ و ۳ مگابیت بر ثانیه انتقال دهید و برای PCM دو کاناله ۱۶ بیتی فشرده‌نشده ۱.۴ مگابیت بر ثانیه کافی است؟

انتقال اطلاعات از طریق بلوتوث

دو نوع انتقال داده در بلوتوث وجود دارد: اتصال ناهمزمان کمتر (ACL) برای انتقال ناهمزمان بدون برقراری اتصال، و اتصال همزمان (SCO)، برای انتقال همزمان با مذاکره اولیه اتصال.
انتقال با استفاده از یک طرح تقسیم زمانی و انتخاب یک کانال انتقال برای هر بسته به طور جداگانه انجام می شود (Frequency-Hop/Time-Division-Duplex, FH/TDD) که برای آن زمان به فواصل 625 میکروثانیه ای به نام اسلات تقسیم می شود. یکی از دستگاه ها در اسلات های زوج و دیگری در اسلات های فرد ارسال می کند. بسته ارسالی بسته به اندازه داده ها و نوع انتقال مجموعه می تواند 1، 3 یا 5 اسلات را اشغال کند، در این حالت انتقال توسط یک دستگاه در اسلات زوج و فرد تا پایان ارسال انجام می شود. در مجموع می توان در هر ثانیه 1600 بسته دریافت و ارسال کرد، اگر هر یک از آنها 1 اسلات را اشغال کند و هر دو دستگاه چیزی را بدون توقف ارسال و دریافت می کنند.

2 و 3 مگابیت بر ثانیه برای EDR که در اطلاعیه‌ها و وب‌سایت بلوتوث یافت می‌شود، حداکثر نرخ انتقال کانال کل داده‌ها (شامل سرصفحه‌های فنی همه پروتکل‌هایی که داده‌ها باید در آنها کپسوله شوند) در دو جهت است. همزمان. سرعت واقعی انتقال داده بسیار متفاوت خواهد بود.

برای انتقال موسیقی، از یک روش ناهمزمان استفاده می‌شود، تقریباً همیشه از بسته‌هایی مانند 2-DH5 و 3-DH5 استفاده می‌شود که حداکثر مقدار داده را در حالت EDR به ترتیب 2 مگابیت بر ثانیه و 3 مگابیت بر ثانیه حمل می‌کنند و 5 زمان را اشغال می‌کنند. -اشتراک گذاری اسلات ها

نمایش شماتیک انتقال با استفاده از 5 اسلات توسط یک دستگاه و 1 اسلات توسط دستگاه دیگر (DH5/DH1):
صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

با توجه به اصل تقسیم زمانی امواج، در صورتی که دستگاه دوم چیزی به ما مخابره نکند یا بسته کوچکی را ارسال کند، پس از ارسال بسته، مجبور می شویم یک بازه زمانی 625 میکروثانیه ای و در صورت ارسال بسته، زمان بیشتری را منتظر بمانیم. در بسته های بزرگ اگر بیش از یک دستگاه (به عنوان مثال، هدفون، ساعت و یک دستبند تناسب اندام) به تلفن متصل باشد، زمان انتقال بین همه آنها تقسیم می شود.

نیاز به کپسوله کردن صدا در پروتکل های حمل و نقل ویژه L2CAP و AVDTP 16 بایت از حداکثر مقدار محموله صوتی ارسال شده را می گیرد.

نوع بسته بندی
تعداد اسلات ها
حداکثر تعداد بایت ها در بسته
حداکثر تعداد بایت های محموله A2DP
حداکثر نرخ بیت محموله A2DP

2-DH3
3
367
351
936 کیلوبیت بر ثانیه

3-DH3
3
552
536
1429 کیلوبیت بر ثانیه

2-DH5
5
679
663
1414 کیلوبیت بر ثانیه

3-DH5
5
1021
1005
2143 کیلوبیت بر ثانیه

1414 و 1429 کیلوبیت بر ثانیه قطعا برای انتقال صدای غیرفشرده در شرایط واقعی، با محدوده نویز 2.4 گیگاهرتز و نیاز به انتقال داده های سرویس کافی نیستند. EDR 3 مگابیت بر ثانیه به قدرت انتقال و نویز هوا نیاز دارد، بنابراین، حتی در حالت 3-DH5، انتقال راحت PCM غیرممکن است، همیشه وقفه های کوتاه مدت وجود خواهد داشت، و همه چیز فقط در یک فاصله کار می کند. یکی دو متر
در عمل، حتی یک جریان صوتی 990 کیلوبیت بر ثانیه (LDAC 990 کیلوبیت بر ثانیه) به سختی قابل انتقال است.

بیایید به کدک ها برگردیم.

SBC

کدک برای همه دستگاه هایی که از استاندارد A2DP پشتیبانی می کنند مورد نیاز است. بهترین و بدترین کدک در عین حال.

فرکانس نمونه برداری
عمق بیت
میزان ارسال بیت
پشتیبانی از رمزگذاری
پشتیبانی از رمزگشایی

16، 32، 44.1، 48 کیلوهرتز
16 بیت
10-1500 کیلوبیت بر ثانیه
همه دستگاه ها
همه دستگاه ها

SBC یک کدک ساده و محاسباتی سریع است، با یک مدل روان آکوستیک اولیه (فقط پوشش صداهای آرام اعمال می شود)، با استفاده از مدولاسیون کد پالس تطبیقی ​​(APCM).
مشخصات A2DP دو پروفایل را برای استفاده توصیه می کند: کیفیت متوسط ​​و کیفیت بالا.
صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

کدک دارای تنظیمات زیادی است که به شما امکان می دهد تاخیر الگوریتمی، تعداد نمونه ها در یک بلوک، الگوریتم توزیع بیت را کنترل کنید، اما تقریباً در همه جا از همان پارامترهای توصیه شده در مشخصات استفاده می شود: استریو مشترک، 8 باند فرکانس، 16 بلوک در یک قاب صوتی، روش توزیع بیت بلندی صدا.
SBC از تغییر پویا پارامتر Bitpool پشتیبانی می کند که مستقیماً بر نرخ بیت تأثیر می گذارد. اگر امواج رادیویی مسدود شود، بسته‌ها گم شوند یا دستگاه‌ها در فواصل زیاد قرار گیرند، منبع صوتی ممکن است بیت‌پول را کاهش دهد تا زمانی که ارتباط به حالت عادی بازگردد.

اکثر تولید کنندگان هدفون حداکثر مقدار Bitpool را روی 53 تنظیم می کنند که در هنگام استفاده از نمایه توصیه شده، بیت ریت را به 328 کیلوبیت در ثانیه محدود می کند.
حتی اگر سازنده هدفون حداکثر مقدار Bitpool را بالای 53 تنظیم کرده باشد (مثلاً: Beats Solo³، JBL Everest Elite 750NC، Apple AirPods که در برخی از گیرنده‌ها و هد یونیت‌های خودرو نیز یافت می‌شود)، بیشتر سیستم‌عامل‌ها اجازه نمی‌دهند. استفاده از افزایش نرخ بیت به دلیل تعیین محدودیت مقدار داخلی در پشته های بلوتوث.
علاوه بر این، برخی از تولیدکنندگان حداکثر مقدار Bitpool را برای برخی دستگاه‌ها روی کم تنظیم می‌کنند. مثلا برای Bluedio T 39، برای Samsung Gear IconX 37 است که کیفیت صدای ضعیفی می دهد.

محدودیت‌های مصنوعی از سوی توسعه‌دهندگان پشته‌های بلوتوث به احتمال زیاد به دلیل ناسازگاری برخی دستگاه‌ها با مقادیر بزرگ بیت‌پول یا پروفایل‌های غیر معمول، حتی اگر پشتیبانی از آنها را گزارش کرده‌اند، و آزمایش ناکافی در حین صدور گواهینامه ایجاد شده است. برای نویسندگان پشته‌های بلوتوث ساده‌تر بود که به جای ایجاد پایگاه‌های داده دستگاه‌های نادرست، خود را به توافق بر روی نمایه توصیه‌شده محدود کنند (اگرچه اکنون این کار را برای سایر عملکردهای نادرست انجام می‌دهند).

SBC به صورت پویا بیت های کوانتیزاسیون را به باندهای فرکانسی بر اساس کم به بالا، با وزن های مختلف اختصاص می دهد. اگر تمام بیت ریت برای فرکانس‌های پایین و متوسط ​​استفاده شود، فرکانس‌های بالا «قطع» می‌شوند (به‌جای آن سکوت وجود خواهد داشت).

مثال SBC 328 kbps. در بالا نسخه اصلی، در پایین SBC قرار دارد که به طور دوره ای بین آهنگ ها جابجا می شود. صدا در فایل ویدیویی از کدک فشرده سازی بدون اتلاف FLAC استفاده می کند. استفاده از FLAC در کانتینر mp4 به طور رسمی استاندارد نشده است، بنابراین تضمین نمی شود که مرورگر شما آن را پخش کند، اما باید در آخرین نسخه های کروم و فایرفاکس دسکتاپ کار کند. اگر صدا ندارید، می‌توانید فایل را دانلود کرده و در یک پخش‌کننده ویدیوی کامل باز کنید.
ZZ Top - مرد لباس تیز

طیف نگار لحظه سوئیچینگ را نشان می دهد: SBC به طور دوره ای صداهای آرام بالای 17.5 کیلوهرتز را قطع می کند و اصلاً هیچ بیتی را برای باند بالای 20 کیلوهرتز اختصاص نمی دهد. طیف‌نگار کامل با کلیک روی (1.7 مگابایت) در دسترس است.
صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

من هیچ تفاوتی بین اصلی و SBC در این آهنگ نمی شنوم.

بیایید چیز جدیدتری بگیریم و صدایی را که با استفاده از هدفون Gear IconX سامسونگ با Bitpool 37 به دست می‌آید شبیه‌سازی کنیم (بالا - سیگنال اصلی، زیر - SBC 239 کیلوبیت بر ثانیه، صدا در FLAC).
اغراق خود بی فکر - شاهد

در فرکانس‌های بالای آواز، صدای ترق، جلوه‌های استریو کمتر و صدای ناخوشایند "کلنگ" را می‌شنوم.

اگرچه SBC یک کدک بسیار انعطاف‌پذیر است، اما می‌توان آن را برای تأخیر کم پیکربندی کرد، کیفیت صوتی عالی را با نرخ بیت بالا (452+ kbps) ارائه می‌کند و برای اکثر افراد با کیفیت بالا استاندارد (328 kbps) بسیار خوب است، زیرا استاندارد A2DP پروفایل های ثابتی را مشخص نمی کند (اما فقط توصیه هایی را ارائه می دهد)، توسعه دهندگان پشته محدودیت های مصنوعی را برای Bitpool تعیین کرده اند، پارامترهای صوتی ارسال شده در رابط کاربری نمایش داده نمی شوند، و سازندگان هدفون آزادند تنظیمات خود را تنظیم کنند و هرگز مقدار Bitpool را در مشخصات فنی محصول نشان می دهد، کدک به دلیل کیفیت صدای پایین خود مشهور شد، اگرچه این مشکلی با کدک نیست.
پارامتر Bitpool مستقیماً بر میزان بیت تنها در یک نمایه تأثیر می گذارد. همان مقدار Bitpool 53 می تواند هم نرخ بیت 328 کیلوبیت بر ثانیه با نمایه کیفیت بالا توصیه شده و هم 1212 کیلوبیت بر ثانیه با دو کانال و 4 باند فرکانس را ارائه دهد، به همین دلیل است که نویسندگان سیستم عامل علاوه بر محدودیت هایی برای Bitpool، محدودیت و محدودیتی را تعیین می کنند. میزان بیت. همانطور که من می بینم، این وضعیت به دلیل نقص در استاندارد A2DP به وجود آمد: لازم بود در مورد نرخ بیت مذاکره شود، نه Bitpool.

جدول پشتیبانی از قابلیت های SBC در سیستم عامل های مختلف:

سیستم عامل
نرخ های نمونه گیری پشتیبانی شده
حد حداکثر بیتپول
حد حداکثر میزان بیت
نرخ بیت معمولی
تنظیم پویا Bitpool

ویندوز 10
44.1 кГц
53
512 کیلوبیت بر ثانیه
328 کیلوبیت بر ثانیه
✓*

لینوکس (BlueZ + PulseAudio)
16، 32، 44.1، 48 کیلوهرتز
64 (برای اتصالات ورودی)، 53 (برای اتصالات خروجی)
بدون محدودیت
328 کیلوبیت بر ثانیه
✓*

macOS بالا سیرا
44.1 кГц
64، پیش فرض 53***
ناشناخته
328 کیلوبیت بر ثانیه

Android 4.4-9
44.1/48 کیلوهرتز **
53
328 کیلوبیت بر ثانیه
328 کیلوبیت بر ثانیه

Android 4.1-4.3.1
44.1، 48 کیلوهرتز **
53
229 کیلوبیت بر ثانیه
229 کیلوبیت بر ثانیه

Blackberry OS 10
48 кГц
53
بدون محدودیت
328 کیلوبیت بر ثانیه

* Bitpool فقط کاهش می یابد، اما به طور خودکار افزایش نمی یابد، اگر شرایط انتقال بهبود یابد. برای بازیابی Bitpool باید پخش را متوقف کنید، چند ثانیه صبر کنید و صدا را دوباره شروع کنید.
** مقدار پیش‌فرض به تنظیمات پشته تعیین‌شده در هنگام کامپایل سفت‌افزار بستگی دارد. در اندروید 8/8.1 فرکانس فقط 44.1 کیلوهرتز یا 48 کیلوهرتز است، بسته به تنظیمات در حین کامپایل، در نسخه های دیگر 44.1 کیلوهرتز و 48 کیلوهرتز به طور همزمان پشتیبانی می شوند.
*** مقدار Bitpool را می توان در برنامه Bluetooth Explorer افزایش داد.

aptX و aptX HD

aptX یک کدک ساده و سریع محاسباتی، بدون روان آکوستیک، با استفاده از مدولاسیون کد پالس دیفرانسیل تطبیقی ​​است.ADPCM). در حدود سال 1988 ظاهر شد (تاریخ تشکیل پرونده ثبت اختراع به تاریخ فوریه 1988)، قبل از بلوتوث، عمدتاً در تجهیزات صوتی بی سیم حرفه ای استفاده می شد. در حال حاضر متعلق به کوالکام است، نیاز به مجوز و حق امتیاز دارد. از سال 2014: 6000 دلار یکبار مصرف و ≈1 دلار برای هر دستگاه، برای دسته های حداکثر 10000 دستگاه (منبع، ص 16).
aptX و aptX HD یک کدک هستند، با پروفایل های رمزگذاری متفاوت.

کدک تنها یک پارامتر دارد - انتخاب فرکانس نمونه برداری. با این حال، انتخاب تعداد/حالت کانال‌ها وجود دارد، اما در همه دستگاه‌هایی که من شناخته‌ام (70+ قطعه) فقط Stereo پشتیبانی می‌شود.

کدک
فرکانس نمونه برداری
عمق بیت
میزان ارسال بیت
پشتیبانی از رمزگذاری
پشتیبانی از رمزگشایی

aptX پشتیبانی میکند
16، 32، 44.1، 48 کیلوهرتز
16 بیت
128 / 256 / 352 / 384 kbps (بسته به سرعت نمونه برداری)
ویندوز 10 (دسکتاپ و موبایل)، macOS، Android 4.4+/7*، Blackberry OS 10
طیف گسترده ای از دستگاه های صوتی (سخت افزار)

* نسخه های تا 7 نیاز به اصلاح پشته بلوتوث دارند. کدک تنها در صورتی پشتیبانی می‌شود که سازنده دستگاه اندروید مجوز کدک را از Qualcomm صادر کرده باشد (اگر سیستم‌عامل دارای کتابخانه‌های رمزگذاری باشد).

aptX صدا را به 4 باند فرکانسی تقسیم می کند و آنها را با همان تعداد بیت به طور مداوم کوانتیزه می کند: 8 بیت برای 0-5.5 کیلوهرتز، 4 بیت برای 5.5-11 کیلوهرتز، 2 بیت برای 11-16.5 کیلوهرتز، 2 بیت برای 16.5-22 کیلوهرتز ( ارقام برای سرعت نمونه برداری 44.1 کیلوهرتز).

نمونه‌ای از صدای aptX (در بالا - سیگنال اصلی، در پایین - aptX، طیف‌نگارهای تنها کانال‌های سمت چپ، صدا در FLAC):

اوج ها کمی قرمزتر شدند، اما شما نمی توانستید تفاوت را بشنوید.

به دلیل توزیع ثابت بیت‌های کوانتیزاسیون، کدک نمی‌تواند بیت‌ها را به فرکانس‌هایی که بیشتر به آن‌ها نیاز دارند تغییر دهد. برخلاف SBC، aptX فرکانس‌ها را قطع نمی‌کند، اما نویز کوانتیزاسیون را به آنها اضافه می‌کند و دامنه دینامیکی صدا را کاهش می‌دهد.

نباید فرض کرد که برای مثال، استفاده از 2 بیت در هر باند، محدوده دینامیکی را به 12 دسی بل کاهش می دهد: ADPCM تا 96 دسی بل محدوده دینامیکی را حتی در صورت استفاده از 2 بیت کوانتیزه کردن، اما فقط برای یک سیگنال خاص، اجازه می دهد.
ADPCM تفاوت عددی بین نمونه فعلی و نمونه بعدی را به جای ذخیره قدر مطلق مانند PCM ذخیره می کند. این به شما امکان می دهد تا تعداد بیت های مورد نیاز برای ذخیره اطلاعات یکسان (بدون از دست دادن) یا تقریباً یکسان (با خطای نسبتاً کوچک گرد کردن) را کاهش دهید. برای کاهش خطاهای گرد کردن، از جداول ضرایب استفاده می شود.
هنگام ایجاد کدک، نویسندگان ضرایب ADPCM را بر روی مجموعه ای از فایل های صوتی موسیقی محاسبه کردند. هر چه سیگنال صوتی به مجموعه موسیقی ای که جداول روی آن ساخته شده است نزدیکتر باشد، خطاهای کوانتیزاسیون (نویز) aptX کمتری ایجاد می کند.

به همین دلیل، آزمایش های مصنوعی همیشه نتایج بدتری نسبت به موسیقی ایجاد می کنند. من یک مثال مصنوعی خاص ساختم که در آن aptX نتایج ضعیفی را نشان می دهد - یک موج سینوسی با فرکانس 12.4 کیلوهرتز (بالا - سیگنال اصلی، زیر - aptX. صدا در FLAC. صدا را کاهش دهید!):

نمودار طیف:
صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

صداها به وضوح قابل شنیدن هستند.

با این حال، اگر یک موج سینوسی با دامنه کوچک‌تر ایجاد کنید تا ساکت‌تر باشد، نویز نیز ساکت‌تر می‌شود و دامنه دینامیکی گسترده‌ای را نشان می‌دهد:

صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

برای شنیدن تفاوت بین آهنگ اصلی و فشرده، می‌توانید یکی از سیگنال‌ها را معکوس کنید و آهنگ‌ها را کانال به کانال اضافه کنید. این رویکرد، به طور کلی، نادرست است، و با کدک‌های پیچیده‌تر، نتایج معقولی به دست نمی‌دهد، اما به طور خاص برای ADPCM کاملاً مناسب است.
تفاوت بین اصلی و aptX
اختلاف ریشه میانگین مربع سیگنال ها در سطح -37.4 دسی بل است که برای چنین موسیقی فشرده ای زیاد نیست.

aptXHD

aptX HD یک کدک مستقل نیست - این یک نمایه رمزگذاری بهبود یافته کدک aptX است. این تغییرات بر تعداد بیت های اختصاص داده شده برای محدوده فرکانس کدگذاری تأثیر گذاشت: 10 بیت برای 0-5.5 کیلوهرتز، 6 بیت برای 5.5-11 کیلوهرتز، 4 بیت برای 11-16.5 کیلوهرتز، 4 بیت برای 16.5-22 کیلوهرتز (اعداد برای 44.1 کیلوهرتز) .

کدک
فرکانس نمونه برداری
عمق بیت
میزان ارسال بیت
پشتیبانی از رمزگذاری
پشتیبانی از رمزگشایی

aptXHD
16، 32، 44.1، 48 کیلوهرتز
24 بیت
192 / 384 / 529 / 576 kbps (بسته به سرعت نمونه برداری)
اندروید 8+*
برخی از دستگاه های صوتی (سخت افزاری)

* نسخه های تا 7 نیاز به اصلاح پشته بلوتوث دارند. کدک تنها در صورتی پشتیبانی می‌شود که سازنده دستگاه اندروید مجوز کدک را از Qualcomm صادر کرده باشد (اگر سیستم‌عامل دارای کتابخانه‌های رمزگذاری باشد).

کمتر رایج از aptX: ظاهراً به مجوز جداگانه از کوالکام و هزینه مجوز جداگانه نیاز دارد.

بیایید مثال را با یک موج سینوسی در 12.4 کیلوهرتز تکرار کنیم:
صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

بسیار بهتر از aptX، اما هنوز هم کمی نویز دارد.

aptX تأخیر کم

کدک از کوالکام که هیچ شباهتی با aptX استاندارد و aptX HD ندارد، با توجه به اطلاعات محدود افراد درگیر در توسعه آن. طراحی شده برای انتقال صوتی تعاملی با تأخیر کم (فیلم، بازی)، که در آن تاخیر صدا توسط نرم افزار قابل تنظیم نیست. هیچ برنامه نرم افزاری شناخته شده ای از رمزگذارها و رمزگشاها وجود ندارد؛ آنها منحصراً توسط فرستنده ها، گیرنده ها، هدفون ها و بلندگوها پشتیبانی می شوند، اما نه توسط تلفن های هوشمند و رایانه ها.

فرکانس نمونه برداری
میزان ارسال بیت
پشتیبانی از رمزگذاری
پشتیبانی از رمزگشایی

44.1 кГц
276/420 کیلوبیت بر ثانیه
برخی از فرستنده ها (سخت افزار)
برخی از دستگاه های صوتی (سخت افزاری)

AAC

AAC یا کدگذاری صوتی پیشرفته، یک کدک محاسباتی پیچیده با یک مدل روان آکوستیک جدی است. به طور گسترده ای برای صدا در اینترنت استفاده می شود، پس از MP3 از نظر محبوبیت دومین. نیاز به مجوز و حق امتیاز: 15000 دلار یکباره (یا 1000 دلار برای شرکت هایی با کمتر از 15 کارمند) + 0.98 دلار برای 500000 دستگاه اول (منبع).
کدک با مشخصات MPEG-2 و MPEG-4 استاندارد شده است و برخلاف تصور غلط رایج، متعلق به اپل نیست.

فرکانس نمونه برداری
میزان ارسال بیت
پشتیبانی از رمزگذاری
پشتیبانی از رمزگشایی

8 - 96 کیلوهرتز
8 - 576 kbps (برای استریو)، 256 - 320 kbps (معمولی برای بلوتوث)
macOS، Android 7+*، iOS
طیف گسترده ای از دستگاه های صوتی (سخت افزار)

* فقط در دستگاه هایی که سازندگان آنها هزینه های مجوز را پرداخت کرده اند

iOS و macOS از بهترین رمزگذار AAC فعلی اپل برای ارائه بالاترین کیفیت صوتی ممکن استفاده می‌کنند. اندروید از دومین با کیفیت‌ترین رمزگذار Fraunhofer FDK AAC استفاده می‌کند، اما ممکن است از سخت‌افزارهای مختلف ساخته شده در پلتفرم (SoC) با کیفیت رمزگذاری ناشناخته استفاده کند. طبق آزمایشات اخیر در وب سایت SoundGuys، کیفیت کدگذاری AAC در تلفن های مختلف اندرویدی بسیار متفاوت است:
صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

اکثر دستگاه های صوتی بی سیم دارای حداکثر نرخ بیت 320 کیلوبیت بر ثانیه برای AAC هستند، برخی فقط از 256 کیلوبیت بر ثانیه پشتیبانی می کنند. نرخ بیت دیگر بسیار نادر است.
AAC کیفیت عالی را در نرخ بیت 320 و 256 کیلوبیت بر ثانیه ارائه می دهد، اما مشمول آن است از دست دادن رمزگذاری متوالی محتوای قبلاً فشرده شدهبا این حال، شنیدن هر گونه تفاوت با نسخه اصلی در iOS با نرخ بیت 256 کیلوبیت در ثانیه حتی با چندین رمزگذاری متوالی دشوار است؛ با کدگذاری تکی، به عنوان مثال، MP3 320 کیلوبیت بر ثانیه تا AAC 256 کیلوبیت در ثانیه، می توان از تلفات چشم پوشی کرد.
مانند سایر کدک های بلوتوث، هر موسیقی ابتدا رمزگشایی می شود و سپس توسط کدک کدگذاری می شود. هنگام گوش دادن به موسیقی با فرمت AAC، ابتدا توسط سیستم عامل رمزگشایی می شود، سپس دوباره برای انتقال از طریق بلوتوث در AAC رمزگذاری می شود. این برای مخلوط کردن چندین جریان صوتی، مانند موسیقی و اعلان‌های پیام جدید ضروری است. iOS نیز از این قاعده مستثنی نیست. در اینترنت می توانید اظهارات زیادی پیدا کنید که در iOS موسیقی با فرمت AAC هنگام انتقال از طریق بلوتوث رمزگذاری نمی شود، که درست نیست.

MP1/2/3

کدک های خانواده MPEG-1/2 Part 3 از MP3 شناخته شده و پرکاربرد، MP2 کمتر رایج (که عمدتاً در تلویزیون دیجیتال و رادیو استفاده می شود) و MP1 کاملاً ناشناخته تشکیل شده است.

کدک‌های MP1 و MP2 قدیمی اصلاً پشتیبانی نمی‌شوند: من نتوانستم هدفون یا پشته بلوتوثی را پیدا کنم که بتواند آنها را رمزگذاری یا رمزگشایی کند.
رمزگشایی MP3 توسط برخی از هدفون ها پشتیبانی می شود، اما رمزگذاری در هیچ سیستم عامل مدرن پشته پشتیبانی نمی شود. به نظر می رسد که اگر شما به صورت دستی فایل پیکربندی را تغییر دهید، پشته BlueSoleil شخص ثالث برای ویندوز می تواند به MP3 رمزگذاری شود، اما برای من نصب آن به BSoD در ویندوز 10 منجر می شود. نتیجه - کدک در واقع نمی تواند برای صدای بلوتوث استفاده شود.
پیش از این، در سال های 2006-2008، قبل از گسترش استاندارد A2DP در دستگاه ها، مردم از طریق برنامه MSI BluePlayer که در سیمبین و ویندوز موبایل در دسترس بود، به موسیقی MP3 روی هدست نوکیا BH-501 گوش می دادند. در آن زمان، معماری سیستم عامل گوشی های هوشمند امکان دسترسی به بسیاری از عملکردهای سطح پایین را فراهم می کرد و در ویندوز موبایل حتی امکان نصب پشته های بلوتوث شخص ثالث وجود داشت.

آخرین پتنت کدک MP3 منقضی شده است، استفاده از کدک از تاریخ 23 آوریل 2017 نیازی به هزینه مجوز ندارد.

اگر طولانی‌ترین حق ثبت اختراع ذکر شده در مراجع فوق الذکر به عنوان یک اقدام در نظر گرفته شود، فناوری MP3 در تاریخ 16 آوریل 2017 در ایالات متحده بدون ثبت اختراع شد، زمانی که پتنت ایالات متحده 6,009,399 که توسط Technicolor و تحت مدیریت آن منقضی شد، منقضی شد.

منبع: www.iis.fraunhofer.de/en/ff/amm/prod/audiocodec/audiocodecs/mp3.html

فرکانس نمونه برداری
میزان ارسال بیت
پشتیبانی از رمزگذاری
پشتیبانی از رمزگشایی

16 - 48 کیلوهرتز
8 - 320 کیلوبیت بر ثانیه
هیچ جا پشتیبانی نمیشه
برخی از دستگاه های صوتی (سخت افزاری)

LDAC

کدک "Hi-Res" جدید و فعالانه ای از سونی که از نرخ نمونه برداری تا 96 کیلوهرتز و 24 بیت با نرخ بیت تا 990 کیلوبیت بر ثانیه پشتیبانی می کند. این به عنوان یک کدک صوتی دوست، به عنوان جایگزینی برای کدک های بلوتوث موجود تبلیغ می شود. بسته به شرایط پخش رادیویی، عملکرد تنظیم نرخ بیت تطبیقی ​​را دارد.

رمزگذار LDAC (لیبلداک) در بسته استاندارد اندروید گنجانده شده است، بنابراین رمزگذاری در هر تلفن هوشمند اندرویدی که با سیستم عامل نسخه 8 شروع می شود پشتیبانی می شود. هیچ رمزگشای نرم افزاری رایگانی وجود ندارد، مشخصات کدک برای عموم در دسترس نیست، با این حال، در نگاه اول به رمزگذار، ساختار داخلی کدک مشابه است. ATRAC9 - کدک سونی مورد استفاده در پلی استیشن 4 و ویتا: هر دو در حوزه فرکانس کار می کنند، از تبدیل کسینوس گسسته اصلاح شده (MDCT) و فشرده سازی با استفاده از الگوریتم هافمن استفاده می کنند.

پشتیبانی LDAC تقریباً منحصراً توسط هدفون های سونی ارائه می شود. توانایی رمزگشایی LDAC گاهی اوقات در هدفون ها و DAC های تولید کنندگان دیگر یافت می شود، اما بسیار نادر است.

فرکانس نمونه برداری
میزان ارسال بیت
پشتیبانی از رمزگذاری
پشتیبانی از رمزگشایی

44.1 - 96 کیلوهرتز
303/606/909 kbit/s (برای 44.1 و 88.2 kHz)، 330/660/990 kbit/s (برای 48 و 96 kHz)
Android 8 +
برخی از هدفون های سونی و برخی از دستگاه های دیگر تولید کنندگان (سخت افزار)

بازاریابی LDAC به عنوان یک کدک Hi-Res به مؤلفه فنی آن آسیب می رساند: احمقانه است که بیت ریت را برای انتقال فرکانس های نامفهوم به گوش انسان و افزایش عمق بیت صرف کنیم، در حالی که برای انتقال با کیفیت CD (44.1/16) بدون از دست دادن کافی نیست. . خوشبختانه کدک دارای دو حالت عملیاتی است: انتقال صوتی CD و انتقال صوتی Hi-Res. در حالت اول، تنها 44.1 کیلوهرتز / 16 بیت از طریق هوا منتقل می شود.

از آنجایی که نرم افزار رمزگشای LDAC به صورت رایگان در دسترس نیست، آزمایش کدک بدون دستگاه های اضافی که LDAC را رمزگشایی می کنند غیرممکن است. با توجه به نتایج آزمایش LDAC روی یک DAC با پشتیبانی آن، که مهندسان SoundGuys.com آن را از طریق یک خروجی دیجیتال متصل کرده و صدای خروجی را روی سیگنال‌های آزمایشی ضبط می‌کنند، LDAC 660 و 990 کیلوبیت بر ثانیه در حالت با کیفیت CD سیگنالی را به نسبت نویز کمی بهتر از aptX HD است.

صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها
منبع: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

LDAC همچنین از نرخ بیت پویا در خارج از پروفایل های ثابت پشتیبانی می کند - از 138 کیلوبیت بر ثانیه تا 990 کیلوبیت بر ثانیه، اما تا آنجا که من می توانم بگویم، اندروید فقط از پروفایل های استاندارد 303/606/909 و 330/660/990 کیلوبیت بر ثانیه استفاده می کند.

کدک های دیگر

سایر کدک های A2DP به طور گسترده مورد استفاده قرار نمی گیرند. پشتیبانی آنها یا تقریباً به طور کامل وجود ندارد یا فقط در مدل های خاصی از هدفون و تلفن های هوشمند موجود است.
کدک ATRAC استاندارد شده در A2DP هرگز به عنوان کدک بلوتوث حتی توسط خود سونی استفاده نشده است. (؟) دستگاه ها.

پشتیبانی از کدک برای دستگاه های صوتی

همه سازندگان اطلاعات دقیقی درباره کدک هایی که توسط هدفون های بی سیم، بلندگوها، گیرنده ها یا فرستنده های خاص پشتیبانی می شوند منتشر نمی کنند. گاهی اوقات اتفاق می افتد که پشتیبانی از یک کدک خاص فقط برای انتقال است، اما نه برای دریافت (مربوط به فرستنده-گیرنده های ترکیبی)، اگرچه سازنده به سادگی "پشتیبانی" را بدون یادداشت اعلام می کند (من فرض می کنم مجوز جداگانه رمزگذارها و رمزگشاهای برخی کدک ها مقصر این هستند). در ارزان ترین دستگاه ها، ممکن است اصلاً پشتیبانی aptX اعلام شده را پیدا نکنید.

متأسفانه، رابط های اکثر سیستم عامل ها کدک مورد استفاده را در جایی نمایش نمی دهند. اطلاعات مربوط به این فقط در اندروید، از نسخه 8 و macOS در دسترس است. با این حال، حتی در این سیستم‌عامل‌ها، تنها کدک‌هایی نمایش داده می‌شوند که هم توسط تلفن/رایانه و هم هدفون پشتیبانی می‌شوند.

چگونه می توانید بفهمید که دستگاه شما از کدام کدک ها پشتیبانی می کند؟ ضبط و تجزیه و تحلیل تخلیه ترافیک با پارامترهای مذاکره A2DP!
این کار در لینوکس، macOS و اندروید قابل انجام است. در لینوکس می‌توانید از Wireshark یا hcidump استفاده کنید، در macOS می‌توانید از بلوتوث اکسپلورر استفاده کنید، و در اندروید می‌توانید از عملکرد استاندارد ذخیره‌سازی HCI dump Bluetooth استفاده کنید که در ابزارهای توسعه‌دهنده موجود است. شما یک Dump با فرمت btsnoop دریافت خواهید کرد که می تواند در تحلیلگر Wireshark بارگذاری شود.
یادداشت: فقط با اتصال از تلفن/کامپیوتر به هدفون/بلندگو (هرچقدر هم که خنده دار به نظر برسد) می توان یک روکش درست به دست آورد! هدفون می تواند به طور مستقل با گوشی ارتباط برقرار کند، در این صورت لیستی از کدک ها را از گوشی درخواست می کند و نه برعکس. برای اطمینان از ضبط صحیح Dump، ابتدا دستگاه را لغو جفت کنید و سپس هنگام ضبط Dump گوشی خود را با هدفون جفت کنید.

از فیلتر نمایش زیر برای فیلتر کردن ترافیک نامربوط استفاده کنید:

btavdtp.signal_id

در نتیجه، شما باید چیزی شبیه به این را ببینید:
صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

برای مشاهده مشخصات دقیق کدک می توانید روی هر مورد در دستور GetCapabilities کلیک کنید.
صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

Wireshark همه شناسه های کدک را نمی شناسد، بنابراین برخی از کدک ها باید به صورت دستی رمزگشایی شوند و به جدول شناسه زیر نگاه کنید:

Mandatory:
0x00 - SBC

Optional:
0x01 - MPEG-1,2 (aka MP3)
0x02 - MPEG-2,4 (aka AAC)
0x04 - ATRAC

Vendor specific:
0xFF 0x004F 0x01   - aptX
0xFF 0x00D7 0x24   - aptX HD
0xFF 0x000A 0x02   - aptX Low Latency
0xFF 0x00D7 0x02   - aptX Low Latency
0xFF 0x000A 0x01   - FastStream
0xFF 0x012D 0xAA   - LDAC
0xFF 0x0075 0x0102 - Samsung HD
0xFF 0x0075 0x0103 - Samsung Scalable Codec
0xFF 0x053A 0x484C - Savitech LHDC

0xFF 0x000A 0x0104 - The CSR True Wireless Stereo v3 Codec ID for AAC
0xFF 0x000A 0x0105 - The CSR True Wireless Stereo v3 Codec ID for MP3
0xFF 0x000A 0x0106 - The CSR True Wireless Stereo v3 Codec ID for aptX

برای اینکه روگرفت ها را به صورت دستی تجزیه و تحلیل نکنم، سرویسی ساختم که همه چیز را به طور خودکار تجزیه و تحلیل می کند: btcodecs.valdikss.org.ru

مقایسه کدک ها کدام کدک بهتر است؟

هر کدک مزایا و معایب خاص خود را دارد.
aptX و aptX HD از پروفایل‌های کدگذاری شده استفاده می‌کنند که بدون تغییر رمزگذار و رمزگشا قابل تغییر نیستند. نه سازنده گوشی و نه سازنده هدفون نمی توانند فاکتورهای رمزگذاری بیت ریت یا aptX را تغییر دهند. صاحب کدک، کوالکام، یک رمزگذار مرجع در قالب یک کتابخانه ارائه می دهد. این حقایق نقطه قوت aptX هستند - شما از قبل می دانید که چه کیفیت صدایی را دریافت خواهید کرد، بدون هیچ "اما".

SBC، در مقابل، پارامترهای قابل تنظیم زیادی دارد، نرخ بیت پویا (انکودر می‌تواند پارامتر بیت‌پول را در صورت مشغول بودن امواج رادیویی کاهش دهد)، و پروفایل‌های کدگذاری سختی ندارد، فقط دارای «کیفیت متوسط» و «کیفیت بالا» توصیه‌شده است. در سال 2 به مشخصات A2003DP اضافه شد. "کیفیت بالا" دیگر بر اساس استانداردهای امروزی آنقدر بالا نیست، و اکثر پشته های بلوتوث به شما اجازه نمی دهند از پارامترهای بهتر از نمایه "کیفیت بالا" استفاده کنید، اگرچه هیچ محدودیت فنی برای این کار وجود ندارد.
بلوتوث SIG رمزگذار SBC مرجع به عنوان کتابخانه ندارد و سازندگان خودشان آن را پیاده سازی می کنند.
اینها نقاط ضعف SBC هستند - هرگز از قبل مشخص نیست که چه کیفیت صدایی را باید از یک دستگاه خاص انتظار داشت. SBC می تواند صدایی با کیفیت پایین و بسیار بالا تولید کند، اما دومی بدون غیرفعال کردن یا دور زدن محدودیت های مصنوعی پشته های بلوتوث دست نیافتنی است.

وضعیت AAC مبهم است: از یک طرف، از نظر تئوری کدک باید کیفیتی غیر قابل تشخیص از اصلی تولید کند، اما در عمل، با قضاوت بر اساس آزمایشات آزمایشگاه SoundGuys بر روی دستگاه های مختلف اندروید، این مورد تایید نمی شود. به احتمال زیاد، خطا مربوط به رمزگذارهای صوتی سخت افزاری با کیفیت پایین است که در چیپست های مختلف تلفن تعبیه شده است. منطقی است که از AAC فقط در دستگاه های اپل استفاده کنید و در Android محدود کردن آن به aptX و LDAC.

سخت‌افزاری که از کدک‌های جایگزین پشتیبانی می‌کند، از کیفیت بالاتری برخوردار است، فقط به این دلیل که برای دستگاه‌های بسیار ارزان و با کیفیت پایین، پرداخت هزینه‌های مجوز برای استفاده از آن کدک‌ها منطقی نیست. در تست های من، SBC در تجهیزات با کیفیت بسیار خوب به نظر می رسد.

من یک وب سرویس ساختم که صدا را به SBC، aptX و aptX HD در زمان واقعی، درست در مرورگر رمزگذاری می کند. با استفاده از آن، می توانید این کدک های صوتی را بدون انتقال صدا از طریق بلوتوث، روی هر هدفون سیمی، بلندگو و موسیقی مورد علاقه خود آزمایش کنید و همچنین هنگام پخش صدا، پارامترهای رمزگذاری را مستقیماً تغییر دهید:
btcodecs.valdikss.org.ru/sbc-encoder
این سرویس از کتابخانه های کدگذاری SBC از پروژه BlueZ و libopenaptx از ffmpeg استفاده می کند که از طریق emscripten به WebAssembly و JavaScript از C کامپایل می شوند تا در مرورگر اجرا شوند. چه کسی می تواند چنین آینده ای را آرزو کند!

در اینجا به نظر می رسد:

به نحوه تغییر سطح نویز پس از 20 کیلوهرتز برای کدک های مختلف توجه کنید. فایل MP3 اصلی حاوی فرکانس های بالاتر از 20 کیلوهرتز نیست.

کدک ها را تغییر دهید و ببینید آیا تفاوت بین اصلی، SBC 53 Joint Stereo (استاندارد و رایج ترین نمایه) و aptX/aptX HD را می شنوید.

من می توانم تفاوت بین کدک ها را بشنوم در هدفون!

افرادی که در حین آزمایش از طریق وب سرویس تفاوت بین کدک ها را نمی شنوند ادعا می کنند که هنگام گوش دادن به موسیقی روی هدفون بی سیم آن را می شنوند. افسوس، این یک شوخی یا یک اثر دارونما نیست: تفاوت واقعاً شنیدنی است، اما ناشی از تفاوت نیست. کدک ها.

اکثریت قریب به اتفاق چیپست‌های صوتی بلوتوث مورد استفاده در دستگاه‌های گیرنده بی‌سیم مجهز به پردازنده سیگنال دیجیتال (DSP) هستند که یک اکولایزر، کامپاندر، گسترش دهنده استریو و سایر موارد طراحی شده برای بهبود (یا تغییر) صدا را اجرا می‌کند. سازندگان تجهیزات بلوتوث می توانند DSP را پیکربندی کنند برای هر کدک جداگانهو هنگام جابه‌جایی بین کدک‌ها، شنونده فکر می‌کند که در حال شنیدن تفاوت در عملکرد کدک‌ها هستند، در حالی که در واقعیت به تنظیمات مختلف DSP گوش می‌دهند.

صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها
خط لوله پردازش صوتی DSP Kalimba در تراشه های تولید شده توسط CSR/Qualcomm

صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها
توابع مختلف DSP را برای هر کدک و خروجی جداگانه فعال کنید

برخی از دستگاه‌های پریمیوم دارای نرم‌افزاری هستند که به شما امکان می‌دهد تنظیمات DSP را سفارشی کنید، اما اکثر هدفون‌های ارزان‌تر این کار را نمی‌کنند و کاربران نمی‌توانند پردازش پس از صدا را به صورت دستی خاموش کنند.

ویژگی های عملکردی دستگاه ها

نسخه مدرن استاندارد A2DP دارد عملکرد "کنترل صدا مطلق". - کنترل صدای دستگاه با استفاده از دستورات ویژه پروتکل AVRCP، که به جای کاهش برنامه‌ای حجم جریان صوتی، بهره مرحله خروجی را تنظیم می‌کند. اگر وقتی صدای هدفون را تغییر می‌دهید، این تغییر با صدای گوشی شما همگام نمی‌شود، هدفون یا گوشی شما از این ویژگی پشتیبانی نمی‌کنند. در این حالت، منطقی است که همیشه به موسیقی با حداکثر صدا در تلفن گوش دهید، صدای واقعی را با دکمه های هدفون تنظیم کنید - در این صورت، نسبت سیگنال به نویز و کیفیت صدا بهتر خواهد شد. باید باشد بالاتر
در واقعیت، موقعیت های غم انگیزی وجود دارد. در هدفون RealForce OverDrive D1 من برای SBC، یک Compander قوی روشن است و افزایش صدا منجر به افزایش سطح صداهای آرام می شود، در حالی که حجم صداهای بلند تغییر نمی کند (سیگنال فشرده می شود). به همین دلیل باید میزان صدا را روی کامپیوتر روی تقریباً نصف تنظیم کنید که در این صورت عملاً اثر فشرده سازی وجود ندارد.
طبق مشاهدات من، تمام هدفون های دارای کدک های اضافی از عملکرد کنترل صدا مطلق پشتیبانی می کنند، ظاهراً این یکی از الزامات گواهی کدک است.

برخی از هدفون ها پشتیبانی می کنند اتصال دو دستگاه به طور همزمان. این به شما امکان می دهد، برای مثال، از رایانه خود به موسیقی گوش دهید و از تلفن خود تماس دریافت کنید. البته باید توجه داشته باشید که در این حالت کدک های جایگزین غیرفعال هستند و فقط از SBC استفاده می شود.

AVDTP 1.3 عملکرد گزارش تاخیر به هدفون اجازه می دهد تا تاخیر را به دستگاه فرستنده ای که صدا در آن پخش می شود، منتقل کند. این به شما امکان می‌دهد هنگام مشاهده فایل‌های ویدیویی، همگام‌سازی صدا با ویدیو را تنظیم کنید: اگر در انتقال رادیو مشکلی وجود داشته باشد، صدا از ویدیو عقب نمی‌ماند، اما برعکس، ویدیو توسط پخش‌کننده ویدیو کند می‌شود تا زمانی که صدا و تصویر دوباره همگام می شوند.
این عملکرد توسط بسیاری از هدفون ها، اندروید 9+ و لینوکس با PulseAudio 12.0+ پشتیبانی می شود. من از پشتیبانی از این ویژگی در سایر سیستم عامل ها اطلاعی ندارم.

ارتباط دو طرفه از طریق بلوتوث. انتقال صدا.

برای انتقال صدا در بلوتوث، از اتصال همزمان (SCO) استفاده می شود - انتقال همزمان با مذاکره مقدماتی اتصال. این حالت به شما این امکان را می دهد که صدا و صدا را به طور دقیق و با سرعت های متقارن ارسال و دریافت بدون انتظار برای تایید ارسال و ارسال مجدد بسته ها منتقل کنید. این امر تأخیر کلی انتقال صدا را از طریق کانال رادیویی کاهش می دهد، اما محدودیت های جدی بر میزان داده های ارسال شده در واحد زمان اعمال می کند و بر کیفیت تأثیر منفی می گذارد.
وقتی از این حالت استفاده می شود، هم صدا و هم صدا با کیفیت یکسانی منتقل می شوند.
متأسفانه، از سال 2019، کیفیت صدا از طریق بلوتوث هنوز ضعیف است و مشخص نیست که چرا بلوتوث SIG کاری در مورد آن انجام نمی دهد.

CVSD

کدک اصلی گفتار CVSD در سال 2002 استاندارد شد و توسط تمام دستگاه های ارتباطی بلوتوث دو طرفه پشتیبانی می شود. این انتقال صدا را با فرکانس نمونه برداری 8 کیلوهرتز فراهم می کند که با کیفیت تلفن سیمی معمولی مطابقت دارد.

نمونه ای از ضبط در این کدک.

mSBC

کدک mSBC اضافی در سال 2009 استاندارد شد و در سال 2010 تراشه هایی که از آن برای انتقال صدا استفاده می کردند ظاهر شدند. mSBC به طور گسترده توسط دستگاه های مختلف پشتیبانی می شود.
این یک کدک مستقل نیست، بلکه یک SBC معمولی از استاندارد A2DP است، با مشخصات رمزگذاری ثابت: 16 کیلوهرتز، مونو، بیتپول 26.

نمونه ای از ضبط در این کدک.

درخشان نیست، اما بسیار بهتر از CVSD است، اما همچنان استفاده از آن برای ارتباطات آنلاین آزاردهنده است، به خصوص زمانی که از هدفون برای برقراری ارتباط در بازی استفاده می کنید - صدای بازی نیز با نرخ نمونه برداری 16 کیلوهرتز منتقل می شود.

شرکت FastStreamCSR تصمیم گرفت ایده استفاده مجدد از SBC را توسعه دهد. برای دور زدن محدودیت‌های پروتکل SCO و استفاده از نرخ بیت بالاتر، CSR مسیر متفاوتی را طی کرد - آنها پشتیبانی از صدای دو طرفه SBC را در استاندارد انتقال صدا یک طرفه A2DP، پروفایل‌های رمزگذاری استاندارد شده معرفی کردند و آن را "FastStream" نامیدند.

FastStream صدای استریو را با فرکانس 44.1 یا 48 کیلوهرتز با نرخ بیت 212 کیلوبیت بر ثانیه به بلندگوها منتقل می کند و مونو، 16 کیلوهرتز با نرخ بیت 72 کیلوبیت بر ثانیه برای انتقال صدا از میکروفون (کمی بهتر از mSBC) استفاده می شود. چنین پارامترهایی برای برقراری ارتباط در بازی های آنلاین بسیار مناسب تر هستند - صدای بازی و مخاطبان از کیفیت بالایی برخوردار خواهند بود.

نمونه ای از ضبط در این کدک (+ صدا از میکروفون، مانند mSBC).

این شرکت عصا جالبی ارائه کرد، اما به دلیل مغایرت با استاندارد A2DP، فقط در برخی از فرستنده های این شرکت (که به عنوان کارت صوتی USB کار می کنند، نه یک دستگاه بلوتوث) پشتیبانی می شود، اما این کار را نمی کند. پشتیبانی را در پشته های بلوتوث دریافت کنید، اگرچه تعداد هدفون های با پشتیبانی FastStream چندان کم نیست.

در حال حاضر، پشتیبانی از FastStream در سیستم عامل فقط وجود دارد به عنوان یک پچ برای لینوکس PulseAudio از توسعه دهنده Pali Rohár، که در شاخه اصلی برنامه گنجانده نشده است.

aptX تأخیر کم

با کمال تعجب، aptX Low Latency از صدای دو طرفه نیز پشتیبانی می کند و همان اصل FastStream را اجرا می کند.
استفاده از این ویژگی کدک در هر جایی امکان پذیر نیست - هیچ پشتیبانی از رمزگشایی با تأخیر کم در هیچ سیستم عامل یا هر پشته بلوتوثی که برای من شناخته شده است وجود ندارد.

بلوتوث 5 کلاسیک و کم انرژی

سردرگمی زیادی در مورد مشخصات و نسخه های بلوتوث به دلیل وجود دو استاندارد ناسازگار تحت یک برند وجود دارد که هر دو به طور گسترده برای اهداف مختلف مورد استفاده قرار می گیرند.

دو پروتکل بلوتوث متفاوت و ناسازگار وجود دارد: بلوتوث کلاسیک و بلوتوث کم انرژی (LE، همچنین به عنوان بلوتوث هوشمند شناخته می شود). پروتکل سومی نیز وجود دارد، بلوتوث High Speed، اما گسترده نیست و در دستگاه های خانگی استفاده نمی شود.

با شروع بلوتوث 4.0، تغییرات در مشخصات عمدتاً مربوط به بلوتوث کم انرژی بود و نسخه کلاسیک فقط بهبودهای جزئی دریافت کرد.

لیست تغییرات بین بلوتوث 4.2 و بلوتوث 5:

9 تغییر از نسخه 4.2 به 5.0

9.1 ویژگی های جدید

چندین ویژگی جدید در نسخه 5.0 Bluetooth Core Specification معرفی شده است. زمینه های اصلی بهبود عبارتند از:
• ماسک در دسترس بودن اسلات (SAM)
• 2 Msym/s PHY برای LE
• LE برد بلند
• تبلیغات غیرقابل اتصال با چرخه وظیفه بالا
• الحاقات تبلیغاتی LE
• الگوریتم انتخاب کانال LE #2
9.1.1 ویژگی های اضافه شده در CSA5 - یکپارچه در نسخه 5.0
• قدرت خروجی بالاتر

منبع: www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043 (صفحه 291)

تنها یک تغییر بر نسخه کلاسیک در چارچوب مشخصات بلوتوث 5 تأثیر گذاشت: آنها پشتیبانی از فناوری Slot Availability Mask (SAM) را اضافه کردند که برای بهبود جداسازی پخش رادیویی طراحی شده است. همه تغییرات دیگر فقط بر بلوتوث LE (و همچنین قدرت خروجی بالاتر) تأثیر می گذارد.

همه دستگاه‌های صوتی فقط از بلوتوث کلاسیک استفاده می‌کنند. اتصال هدفون و بلندگو از طریق بلوتوث کم انرژی غیرممکن است: هیچ استانداردی برای انتقال صدا با استفاده از LE وجود ندارد. استاندارد A2DP که برای انتقال صدای با کیفیت بالا استفاده می شود، فقط از طریق بلوتوث کلاسیک کار می کند و هیچ آنالوگ در LE وجود ندارد.

نتیجه گیری - خرید دستگاه های صوتی با بلوتوث 5 فقط به دلیل نسخه جدید پروتکل بی معنی است. بلوتوث 4.0/4.1/4.2 در زمینه انتقال صدا دقیقاً به همین صورت عمل می کند.
اگر در اعلامیه هدفون های جدید به افزایش برد عملکرد و کاهش مصرف انرژی به لطف بلوتوث 5 اشاره شده است، باید بدانید که آنها یا خودشان آن را درک نمی کنند یا شما را گمراه می کنند. جای تعجب نیست، زیرا حتی سازندگان تراشه‌های بلوتوث نیز در اطلاعیه‌های خود در مورد تفاوت‌های نسخه جدید استاندارد سردرگم هستند و برخی از تراشه‌های بلوتوث 5 تنها از نسخه پنجم برای LE پشتیبانی می‌کنند و از نسخه 4.2 برای کلاسیک استفاده می‌کنند.

تاخیر در انتقال صدا

میزان تأخیر (تاخیر) در صدا به عوامل زیادی بستگی دارد: اندازه بافر در پشته صوتی، در پشته بلوتوث و در خود دستگاه پخش بی سیم، و تأخیر الگوریتمی کدک.

تأخیر کدک‌های ساده مانند SBC، aptX و aptX HD بسیار کم است، ۳ تا ۶ میلی‌ثانیه، که می‌توان از آن چشم‌پوشی کرد، اما کدک‌های پیچیده مانند AAC و LDAC می‌توانند تأخیر قابل‌توجهی ایجاد کنند. تأخیر الگوریتمی AAC برای 3 کیلوهرتز 6 میلی ثانیه است. LDAC - حدود 44.1 میلی‌ثانیه (بر اساس تجزیه و تحلیل تقریبی کد منبع. ممکن است اشتباه کنم، اما نه زیاد.)

تأخیر حاصل تا حد زیادی به دستگاه پخش، چیپست و بافر آن بستگی دارد. در طی آزمایشات، من 150 تا 250 میلی‌ثانیه را روی دستگاه‌های مختلف (با کدک SBC) دریافت کردم. اگر فرض کنیم دستگاه‌هایی که از کدک‌های اضافی aptX، AAC و LDAC پشتیبانی می‌کنند از اجزای باکیفیت و اندازه بافر کوچک استفاده می‌کنند، تأخیرهای معمول زیر را دریافت می‌کنیم:

SBC: 150-250ms
aptX: 130-180 میلی‌ثانیه
AAC: 190-240 میلی‌ثانیه
LDAC: 160-210 میلی‌ثانیه

یادآوری می کنم: aptX Low Latency در سیستم عامل ها پشتیبانی نمی شود، به همین دلیل است که تاخیر کمتر را فقط می توان با ترکیب فرستنده + گیرنده یا فرستنده + هدفون / بلندگو به دست آورد و همه دستگاه ها باید از این کدک پشتیبانی کنند.

مشکلات مربوط به دستگاه بلوتوث، گواهینامه و لوگو

چگونه یک دستگاه صوتی با کیفیت بالا را از یک کاردستی ارزان تشخیص دهیم؟ در ظاهر اول از همه!

برای هدفون، بلندگوها و گیرنده های ارزان چینی:

  1. کلمه "بلوتوث" روی جعبه و دستگاه وجود ندارد، "بی سیم" و "BT" بیشتر استفاده می شود.
  2. نشان‌واره بلوتوث وجود ندارد صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها روی جعبه یا دستگاه
  3. بدون LED چشمک زن آبی

عدم وجود این عناصر نشان می دهد که دستگاه گواهینامه دریافت نکرده است، به این معنی که به طور بالقوه کیفیت پایین و مشکل ساز است. به عنوان مثال، هدفون های Bluedio دارای گواهی بلوتوث نیستند و به طور کامل با مشخصات A2DP مطابقت ندارند. آنها گواهینامه را نمی گذراندند.

بیایید چندین دستگاه و جعبه از آنها را در نظر بگیریم:
صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

صدا از طریق بلوتوث: جزئیات تا حد امکان در مورد پروفایل ها، کدک ها و دستگاه ها

اینها همه دستگاه های بدون تایید هستند. دستورالعمل ها ممکن است حاوی یک آرم و نام فناوری بلوتوث باشند، اما مهم ترین چیز این است که آنها روی جعبه و/یا خود دستگاه هستند.

اگر هدفون یا بلندگوی شما می گوید "Ze bluetooth dewise با موفقیت وصل شد"، این نیز نشان دهنده کیفیت آنها نیست:

نتیجه

آیا بلوتوث می تواند به طور کامل جایگزین هدفون و هدست سیمی شود؟ توانمند است، اما به قیمت کیفیت پایین تماس، افزایش تأخیر صوتی که می‌تواند در بازی‌ها آزاردهنده باشد، و انبوهی از کدک‌های اختصاصی که به هزینه‌های مجوز نیاز دارند و هزینه نهایی گوشی‌های هوشمند و هدفون را افزایش می‌دهند.

بازاریابی کدک های جایگزین بسیار قوی است: aptX و LDAC به عنوان جایگزینی برای SBC "منسوخ و بد" ارائه می شوند که تقریباً به آن بدی نیست که مردم فکر می کنند.

همانطور که مشخص شد، محدودیت های مصنوعی پشته های بلوتوث در نرخ بیت SBC را می توان دور زد، به طوری که SBC از aptX HD پایین تر نخواهد بود. من ابتکار عمل را در دستان خودم گرفتم و یک پچ برای سیستم عامل LineageOS ساختم: ما پشته بلوتوث را برای بهبود صدا در هدفون‌های بدون کدک‌های AAC، aptX و LDAC تغییر می‌دهیم.

اطلاعات بیشتر را می توان در وب سایت ها یافت بچه ها صدا и SoundExpert.

پاداش: رمزگذار مرجع SBC، اطلاعات جریان بیت A2DP و فایل های آزمایشی. این فایل قبلاً به صورت عمومی در وب سایت بلوتوث پست می شد، اما اکنون فقط برای اعضای بلوتوث SIG در دسترس است.

منبع: www.habr.com

اضافه کردن نظر