অ্যান্ড্রয়েডে ব্লুটুথ স্ট্যাকগুলি কীভাবে উন্নত ব্লুটুথ অডিও গুণমানের জন্য সংশোধন করবেন



সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন

সতর্কতা: এটি একটি অত্যন্ত উন্নত গাইড যা আপনার অ্যান্ড্রয়েডে আপনার ব্লুটুথ স্ট্যাকগুলি সংশোধন করার সাথে জড়িত - এই গাইডটিকে পুরোপুরি পড়ুন এবং যেমন নির্দেশনা দিয়েছেন ঠিক তেমনভাবে অনুসরণ করুন।



ব্লুটুথ হেডসেট এবং ব্লুটুথ অডিও বেশ জনপ্রিয় হয়ে উঠেছে সত্ত্বেও, এটি অডিওফিলের জন্য কিছুটা সমস্যা কারণ ব্লুটুথ অডিও মান হ্রাস করতে প্রমাণিত হয়েছে, কারণ অডিও তথ্যের বিট এবং ফ্রিকোয়েন্সিগুলি ব্লুটুথ স্ট্রিমিংয়ের উপর দিয়ে বাতাসে হারিয়ে যায়।



এই কারণেই কিছু নির্মাতারা স্ট্যান্ডার্ড এসবিসি ব্লুটুথ কোডেকের উপরের শব্দটির মান বাড়ানোর জন্য, যা সমস্ত হেডফোন এবং বেশিরভাগ ব্লুটুথ ডিভাইস দ্বারা সমর্থিত রয়েছে - তবে, অ্যাপটেক্স এবং এলডিএসি কোডেকগুলি সহ ডিভাইসগুলি আরও ব্যয়বহুল কারণ এই কোডেকগুলি লাইসেন্স ফি প্রয়োজন, যা গ্রাহক দীর্ঘমেয়াদে প্রদান করে।



এসবিসি ব্লুটুথ কোডেকের অল্প অডিও মানের সমস্ত বর্তমান ব্লুটুথ স্ট্যাক এবং হেডফোনগুলির কনফিগারেশনের কৃত্রিম সীমাবদ্ধতার কারণে সৃষ্টি হয়েছে এবং বিদ্যমান সঞ্চারিত কোনও ডিভাইসে এই সীমাবদ্ধতা অবরুদ্ধ হতে পারে।

আপনি যদি ব্লুটুথ অডিওতে আগ্রহী হন, আমরা আপনাকে এই গাইডের শেষে আপনাকে কীভাবে একটি ব্লুটুথ অডিও লগ ডাম্প নিতে হবে এবং আপনার অ্যান্ড্রয়েডের ব্লুটুথ রিসিভার থেকে কী ধরণের অডিও গুণমান এবং ফ্রিকোয়েন্সি অর্জন করছেন তা পরীক্ষা করে দেখাব।

এই গাইডের বেশিরভাগই স্ট্যান্ডার্ড এসবিসি ব্লুটুথ কোডেকের আউটপুট গুণমানকে বাড়ানোর জন্য কয়েকটি সাধারণ টুইট এবং আপনার ব্লুটুথ অডিও আউটপুট পড়ার উপায়গুলিতে মনোনিবেশ করবে - দয়া করে পুরো গাইডটি বেশ শিক্ষামূলক হিসাবে সাবধানতার সাথে পড়ুন এবং এখানে প্রচুর আলাদা স্টাফ রয়েছে আপনার ডিভাইসের মডেলের উপর নির্ভর করে ফ্ল্যাশ বা টুইট করতে।



এই গাইডের শেষ প্রান্তে প্রচুর জনপ্রিয় অ্যান্ড্রয়েড ডিভাইসগুলির জন্য প্রাক-প্যাচযুক্ত ব্লুটুথ স্ট্যাকের একটি তালিকা রয়েছে - এগুলি পুনরুদ্ধারে ফ্ল্যাশ করা যেতে পারে কারণ আপনি অন্য কোনও ফ্লেশযোগ্য। জিপ করতে পারেন - যদি কোনও ডিভাইসই আপনার না থাকে তবে আপনার কাছে অ্যান্ড্রয়েডে ব্লুটুথ স্ট্যাকগুলি সংশোধন করার জন্য গাইড অনুসরণ করুন।

এসবিসি কোডেক সম্পর্কে সংক্ষিপ্ত প্রযুক্তিগত তথ্য

এসবিসির সংযোগ সেটআপ পর্বের সময় অনেকগুলি বিভিন্ন পরামিতি আলোচনা করা হয়:

  • অডিও চ্যানেলের ধরণ এবং নম্বর: জয়েন্ট স্টেরিও, স্টেরিও, দ্বৈত চ্যানেল, মনো;
  • ফ্রিকোয়েন্সি ব্যান্ডের সংখ্যা: 4 বা 8;
  • একটি প্যাকেটে অডিও ব্লকের সংখ্যা: 4, 8, 12, 16;
  • কোয়ান্টাইজেশন বিট বরাদ্দকরণ অ্যালগরিদম: জোরেস, এসএনআর;
  • কোয়ান্টাইজেশন প্রক্রিয়াতে সর্বাধিক এবং সর্বনিম্ন বিট পুল ব্যবহৃত হয়: সাধারণত 2-53।

এই পরামিতিগুলির যে কোনও সংমিশ্রণকে ডিকোডারটি সমর্থন করতে প্রয়োজন। এনকোডার তাদের কেবলমাত্র একটি অংশ বাস্তবায়ন করতে পারে।

বিদ্যমান ব্লুটুথ স্ট্যাকগুলি সাধারণত নিম্নলিখিত প্রোফাইলটিতে আলোচনা করে: জয়েন্ট স্টেরিও, 8 টি ব্যান্ড, 16 ব্লক, জোরেসতা, বিটপুল ২.৫৩। এই প্রোফাইলটি 328 কেবিপিএস বিটরেট সহ 44.1 কেএইচজেড অডিওকে এনকোড করে।

বিটপুলের প্যারামিটারগুলি একই প্রোফাইলের মধ্যে সরাসরি বিটরেটকে প্রভাবিত করে: এটি যত বেশি হবে তত বেশি বিটরেট, এবং সেইজন্য গুণমান।

তবে বিটপুলের প্যারামিটার নির্দিষ্ট প্রোফাইলের সাথে আবদ্ধ নয়। বিটরেট অন্যান্য পরামিতিগুলির দ্বারাও উল্লেখযোগ্যভাবে প্রভাবিত: অডিও চ্যানেলের ধরণ, ফ্রিকোয়েন্সি ব্যান্ডের সংখ্যা, অডিও ব্লকের সংখ্যা। বিটপুলটি পরিবর্তন না করে আপনি অপ্রত্যক্ষভাবে অ-স্ট্যান্ডার্ড প্রোফাইলগুলির সাথে আলাপ-আলোচনা করে বিটরেট বাড়াতে পারেন।

উদাহরণস্বরূপ, ডুয়াল চ্যানেল প্রতিটি চ্যানেলের পুরো বিটপুল ব্যবহার করে চ্যানেলগুলিকে পৃথকভাবে এনকোড করে। জয়েন্ট স্টেরিওর পরিবর্তে ডিভাইসটিকে দ্বৈত চ্যানেল ব্যবহার করতে বাধ্য করা একই সর্বাধিক বিটপুল, 617 কেবিপিএসে আমাদের প্রায় দ্বিগুণ বিটরেট পাবে।

আমার কাছে এটি মনে হয় যে বিটপুলটি একটি অভ্যন্তরীণ পরিবর্তনশীল হওয়া উচিত। এটি একটি A2DP স্পেসিফিকেশন ডিজাইনের ত্রুটি যে বিটপুলের মানটি অন্যান্য কোডেক প্যারামিটারের সাথে আবদ্ধ নয় এবং কেবলমাত্র একটি বৈশ্বিক মান হিসাবে সংজ্ঞায়িত।

এই নির্দিষ্ট বিটপুল এবং বিট্রেট মানগুলি উচ্চ-মানের অডিওর জন্য প্রস্তাবিত মানগুলি থেকে উত্স। তবে প্রস্তাবটি এই মানগুলিতে সীমাবদ্ধ করার অজুহাত নয়।

A2DP স্পেসিফিকেশন v1.2, যা 2007 থেকে 2015 পর্যন্ত সক্রিয় ছিল, সমস্ত ডিকোডারকে 512 কেবিপিএস পর্যন্ত বিট্রেটগুলির সাথে সঠিকভাবে কাজ করা প্রয়োজন:

এসএনকে ডিকোডারটি সমস্ত সম্ভাব্য বিটপুল মানকে সমর্থন করবে যা সর্বাধিক বিট হারের বেশি না হয়। এই প্রোফাইলটি উপলভ্য সর্বাধিক বিট হারকে মনো এর জন্য 320 কেবি / সেকেন্ড এবং দ্বি-চ্যানেল মোডের জন্য 512 কেবি / সেকেন্ড করে।

নির্দিষ্টকরণের নতুন সংস্করণে কোনও বিটরেট সীমাবদ্ধতা নেই। ধারণা করা হয় যে 2015 এর পরে প্রকাশিত আধুনিক হেডফোনগুলি বিটরেটকে সমর্থন করতে পারে 1000 কেবিপিএস পর্যন্ত

কিছু কারণে, বর্তমানে পরীক্ষিত সমস্ত ব্লুটুথ স্ট্যাকগুলি (লিনাক্স (পলস অডিও), অ্যান্ড্রয়েড, ব্ল্যাকবেরি এবং ম্যাকোস) সর্বাধিক বিটপুল প্যারামিটারের কৃত্রিম বিধিনিষেধ রয়েছে, যা সরাসরি সর্বোচ্চ বিটরেটকে প্রভাবিত করে। তবে এটি সবচেয়ে বড় সমস্যা নয়, প্রায় সমস্ত হেডফোনই সর্বোচ্চ বিটপুলের মান সীমাবদ্ধ করে 53।

বেশিরভাগ ডিভাইস কোনও বিঘ্ন এবং ক্র্যাকলিং ছাড়াই 507 কেবিপিএস বিট্রেটযুক্ত একটি সংশোধিত ব্লুটুথ স্ট্যাকের উপর সূক্ষ্ম কাজ করে। স্টক ব্লুটুথ স্ট্যাকের সাথে এ জাতীয় বিটরেট কখনই সাধারণ অবস্থার অধীনে আলোচনা করা হবে না।

*** নীচে গাইড ব্যবহার করে পরীক্ষার জন্য প্রয়োজনীয়: ব্লুটুথ-ডুয়ালচ্যানেল-পরীক্ষা-উবুন্টু-18.04.1-ডেস্কটপ-amd64.iso.torrent

পিসিতে কীভাবে পরীক্ষা করবেন

হাই বিটরেট এসবিসি হেডফোন সামঞ্জস্যতা পরীক্ষা ব্লুটুথ অ্যাডাপ্টারের সাহায্যে পিসিতে সঞ্চালন করা সবচেয়ে সহজ। আমি একটি পরিবর্তিত ব্লুটুথ স্ট্যাক সহ উবুন্টু চিত্র প্রস্তুত করেছি, যা ভার্চুয়াল মেশিনের মতো চালানো যেতে পারে (ভার্চুয়াল মেশিনের অভ্যন্তরে ইউএসবি ডিভাইস হিসাবে ব্লুটুথ অ্যাডাপ্টারের সাথে সংযোগ স্থাপনের মাধ্যমে, এটি ল্যাপটপে নির্মিত অ্যাডাপ্টারগুলির সাথেও কাজ করে) বা বুট করে ইউএসবি ফ্ল্যাশ ড্রাইভ এই চিত্রটি নিম্নলিখিত প্রোফাইলটি ব্যবহার করে: ডুয়াল চ্যানেল, 8 টি ব্যান্ড, 16 ব্লক, লাউডনেস, বিটপুল 2..41, 44.1 kHz, যা 485 কেবিপিএস বিটরেট সরবরাহ করে।

একটি ভিএম চালানো

  • ভার্চুয়ালবক্স এবং ভার্চুয়ালবক্স এক্সটেনশন প্যাকটি ডাউনলোড করুন: https://www.virtualbox.org/wiki/Downloads;
  • ভার্চুয়ালবক্স ইনস্টল করুন, এটি শুরু করুন;
  • ফাইল → পছন্দসমূহ → এক্সটেনশনগুলি ব্যবহার করে এক্সটেনশন প্যাকটি ইনস্টল করুন;
  • নতুন ভার্চুয়াল মেশিন তৈরি করুন: লিনাক্স, উবুন্টু (64-বিট), 1024 র‌্যাম। এইচডিডি তৈরি করবেন না।
  • ভার্চুয়াল মেশিন সেটিংসে নেভিগেট করুন, স্টোরেজে কন্ট্রোলার নির্বাচন করুন: আইডিই, খালি, সিডি আইকন টিপুন virtual ভার্চুয়াল অপটিক্যাল ডিস্ক ফাইল চয়ন করুন;
  • ডাউনলোড ব্লুটুথ-ডুয়ালচ্যানেল-পরীক্ষা-উবুন্টু-18.04.1-ডেস্কটপ-amd64.iso নির্বাচন করুন;
  • সেটিংস উইন্ডোটি সংরক্ষণ এবং বন্ধ করুন, ভার্চুয়াল মেশিন শুরু করুন;
  • ডানদিকে নীচে ডানদিকে USB তারের আইকনটি ক্লিক করুন, আপনার ব্লুটুথ অ্যাডাপ্টারটি নির্বাচন করুন;

পিসিতে চলছে

চিত্রটি BIOS / CSM এবং UEFI বুটিং সমর্থন করে।

  • ইচারটি ব্যবহার করে একটি ইউএসবি ফ্ল্যাশ ড্রাইভে চিত্রটি পোড়ান: https://etcher.io/। এই অপারেশনটি একটি ইউএসবি ড্রাইভে থাকা সমস্ত ফাইল মুছে ফেলবে।
  • পিসি বন্ধ করুন;
  • ইউএসবি ফ্ল্যাশ ড্রাইভ sertোকান, পিসিটি চালু করুন এবং বুট অর্ডার বোতামটি টিপুন (সাধারণত ইস্ক বা এফ 12);
  • আপনার ইউএসবি ফ্ল্যাশ ড্রাইভ নির্বাচন করুন।

পরীক্ষা করা

  • (butচ্ছিক তবে প্রস্তাবিত) ডেস্কটপে 'Btsnoop Dump' স্ক্রিপ্টে ডাবল ক্লিক করুন। এটি পরবর্তী বিশ্লেষণের জন্য ব্লুটুথ ডেটা ক্যাপচার শুরু করবে। টার্মিনাল উইন্ডোটি বন্ধ করবেন না।
  • জুড়ি মোডে হেডফোনগুলি স্যুইচ করুন;
  • উপরের ডানদিকে কোণে তীর ক্লিক করুন, ব্লুটুথ আইকন icon ব্লুটুথ সেটিংস নির্বাচন করুন;
  • আপনার হেডফোনগুলি চয়ন করুন, জোড়জোড়াটি সম্পূর্ণ না হওয়া পর্যন্ত অপেক্ষা করুন এবং উইন্ডোটি বন্ধ করুন;
  • উবুন্টু ভলিউম প্রায় 2/3 সেট করুন। হেডসেট বোতাম ব্যবহার করে ভলিউম হ্রাস করুন কারণ এটি জোড়া দেওয়ার পরে খুব জোরে হতে পারে।
  • 'সংগীত' ফোল্ডারটি খুলুন, 'testrecord1.flac' খেলুন;
  • (butচ্ছিক তবে প্রস্তাবিত) বন্ধ প্লেয়ার, টার্মিনাল উইন্ডোটি বন্ধ করুন। এটি ডেটা ক্যাপচার বন্ধ করবে।
  • (butচ্ছিক তবে প্রস্তাবিত) ফায়ারফক্স ব্রাউজার খুলুন, ডেটা ডাম্প (ডেস্কটপে btsnoop_hci.btsnoop) আপলোড করুন https://btcodecs.valdikss.org.ru/ এ

আপনি সঙ্গীত ফোল্ডারে অন্য সংগীত শুনতে বা আপনার নিজের আপলোড করতে পারেন;

হেডফোনগুলিতে কোনও ক্র্যাকলিং, অডিও বাধা বা অন্যান্য শব্দ বিকৃতি হওয়া উচিত নয়। আপনি যদি একটি উচ্চ মানের মানের শব্দ শুনতে পান তবে এর অর্থ আপনার হেডফোনগুলি 485 কেবিপিএসের বিট রেট সহ অডিও সমর্থন করে।

অ্যান্ড্রয়েড ডিভাইসে কীভাবে পরীক্ষা করবেন

অ্যান্ড্রয়েড স্মার্টফোন বা ট্যাবলেট থেকে পরীক্ষা করার জন্য আপনাকে সংশোধিত ব্লুটুথ স্ট্যাক ব্যবহার করতে হবে, যার জন্য মূল অধিকার প্রয়োজন।

কীভাবে অ্যান্ড্রয়েডে ব্লুটুথ ডেটা ক্যাপচার করবেন

  1. ব্লুটুথ বন্ধ করুন;
  2. বিকাশকারী সেটিংসে, 'ব্লুটুথ এইচসিআই স্নুপ লগ সক্ষম করুন' স্যুইচ সক্ষম করুন;
  3. ব্লুটুথ চালু করুন, ব্লুটুথ মেনু ব্যবহার করে আপনার হেডসেটের সাথে সংযুক্ত করুন (এটি গুরুত্বপূর্ণ! স্বয়ংক্রিয় সংযোগের অনুমতি দেবেন না!);
  4. সংক্ষিপ্ত অডিও নমুনা খেলুন;
  5. বিকাশকারী সেটিংস খুলুন, 'ব্লুটুথ এইচসিআই স্নুপ লগ সক্ষম করুন' স্যুইচটি অক্ষম করুন;
  6. সেখানে / স্টোরেজ / এমুলেটেড/0/btsnoop_hci.log বা /data/misc/bluetuth/logs/btsnoop_hci.log তৈরি হওয়া উচিত। যদি এটি অনুপস্থিত থাকে তবে কোনও পাঠ্য সম্পাদক দিয়ে /etc/bluetuth/bt_stack.conf খুলুন এবং বিটিএসনুপফিলনাম বিকল্পটিতে পথটি দেখুন।

হেডফোনগুলিতে কোনও ক্র্যাকলিং, অডিও বাধা বা অন্যান্য শব্দ বিকৃতি হওয়া উচিত নয়। আপনি যদি প্যাচযুক্ত লাইব্রেরির সাথে একটি উচ্চ মানের মানের শব্দ শুনতে পান তবে এর অর্থ আপনার হেডফোনগুলি 512 কেবিপিএসের বিট রেট সহ অডিও সমর্থন করে।

উপরের অ্যালগরিদম সাবধানে অনুসরণ করুন। বিশেষত, আপনি যদি হেডফোনগুলি বিদ্যুৎ বন্ধ করে দেন বা জোড়া দেওয়ার পরে সংযোগ বিচ্ছিন্ন করেন তবে ব্লুটুথ সেটিংস থেকে ম্যানুয়ালি হেডফোনগুলির সাথে সংযোগ স্থাপন করা গুরুত্বপূর্ণ, অটো সংযোগের অনুমতি দেবেন না!

ডিভাইসগুলি যা কমপক্ষে 512 কেবিট / এস এসবিসি সমর্থন করে

  • 1More আইবিফ্রি
  • জেবিএল এভারেস্ট 310
  • জেবিএল এভারেস্ট 700
  • স্কুলক্যান্ডি এইচইএসএইচ 3
  • সনি WI-C400
  • সনি এমডিআর -১ এএবিটি
  • সনি MDR-ZX770BT
  • সনি MDR-XB650BT
  • সনি এমডিআর-এক্সবি 950 বি 1
  • সনি এসবিএইচ 50
  • ব্লুডিওও টি 4 এস (বিটপুল সর্বোচ্চ 39. দ্বৈত চ্যানেল সমর্থন না করার জন্য প্রতিক্রিয়া জানান, তবে জোর করা হলে কাজ করুন, 462 কেবিট / সে। এ 2 ডিপি স্পেসিফিকেশনের সাথে মানায় না))
  • ব্লুডিওও টি 5 (দ্বৈত চ্যানেল সমর্থন না করার জন্য প্রতিক্রিয়া জানান, তবে জোর করে কাজ করুন A
  • ব্লুডিওও টি 6 (দ্বৈত চ্যানেল সমর্থন না করার জন্য প্রতিক্রিয়া জানান, তবে জোর করা হলে কাজ করুন A A2DP নির্দিষ্টকরণের সাথে মানান না not সর্বাধিক 97220 চিপ গ্রহণ করুন Ad)
  • মার্শাল মেজর II ব্লুটুথ
  • ওভারড্রাইভ রিয়েলফোরস ডি 1
  • এডিফায়ার ডাব্লু 830 বিটি
  • ডেক্সপ বিটি-250
  • লজিটেক বিটি অ্যাডাপ্টার
  • ননাম স্বয়ংচালিত হেড ইউনিট (CSR8645 চিপ)
  • সনি DSX-A400BT মোটরগাড়ি হেড ইউনিট

ডিবিএসগুলি যা এসবিসিকে 512 কেবিট / সেকেন্ডের বেশি সমর্থন করে

  • জেবিএল এভারেস্ট 310 (617-660 কেবিট / গুলি)
  • সনি ডাব্লুআই-সি 400 (576 কেবিট / গুলি)
  • সনি MDR-ZX770BT (617-660 কেবিট / গুলি)
  • মার্শাল মেজর II ব্লুটুথ (617-660 কেবিট / সে)
  • ওভারড্রাইভ রিয়েলফোরস ডি 1 (730 কিবিট / সে, ডুয়াল চ্যানেল, 4 টি সাবব্যান্ড)

যে ডিভাইসগুলি উচ্চ বিটরেট বা দ্বৈত চ্যানেলের সাথে কাজ করে না

  1. হার্পার এইচবি -202 (ক্র্যাকলিংস; বেকেন বি কে 3256 চিপ)
  2. সনি এরিকসন এমডাব্লু 600 (উচ্চ ফ্রিকোয়েন্সি বিকৃতি, ক্র্যাকলিংস; ডিভাইস ২০০৯ থেকে)

এটি কেন গুরুত্বপূর্ণ: এসবিসি 328 কে এবং 485 কে বনাম অ্যাপটিএক্স

অ্যাপটিএক্স সাউন্ড মানের জনপ্রিয় বিশ্বাসের বিপরীতে, কিছু ক্ষেত্রে এটি স্ট্যান্ডার্ড 328 কে বিটরেট সহ এসবিসি থেকে আরও খারাপ অডিও গুণ উত্পাদন করতে পারে।

এসবিসি গতিশীলভাবে 'নীচে থেকে শীর্ষে' ভিত্তিতে অভিনয় করে ফ্রিকোয়েন্সি ব্যান্ডগুলির জন্য কোয়ান্টাইজেশন বিট বরাদ্দ করে। যদি পুরো বিটরেটটি নিম্ন এবং মাঝারি ফ্রিকোয়েন্সিগুলির জন্য ব্যবহৃত হয় তবে উপরের ফ্রিকোয়েন্সিগুলি 'কাটা কাটা' (নীরব) হয়ে থাকে।

এপিটিএক্স একই সংখ্যক বিট সহ নিয়মিত ফ্রিকোয়েন্সি ব্যান্ডকে কোয়ান্টিজ করে, যা এটি একটি ধ্রুবক বিটরেট কোডেক: 44.1 কেএইচজেডের জন্য 352 কেবিএস, 48 কেএইচজেডের জন্য 384 কেবিপিএস হয়। এটি প্রায়শই প্রয়োজনীয় প্রয়োজনীয় ফ্রিকোয়েন্সিগুলিতে 'বিট স্থানান্তর' করতে পারে না। এসবিসি থেকে পৃথক, এপটিএক্স ফ্রিকোয়েন্সিগুলি 'কাটা' করবে না, তবে তাদের সাথে পরিমাণের আওয়াজ যুক্ত করবে, অডিওর গতিশীল পরিসর হ্রাস করবে এবং কখনও কখনও কর্কশগুলি প্রবর্তন করবে। বিপরীতে এসবিসি, 'বিশদ খায়' - শান্ত অঞ্চলগুলি ত্যাগ করে।

গড়ে, এসবিসি 328 কে এর সাথে তুলনা করে, অ্যাপটেক্স বিস্তৃত ফ্রিকোয়েন্সি রেঞ্জের সাথে সঙ্গীতে কম বিকৃতি তৈরি করে, তবে সংকীর্ণ ফ্রিকোয়েন্সি রেঞ্জ এবং বিস্তৃত গতিশীল রেঞ্জের এসবিসি 328 কে সঙ্গীতে সঙ্গীত কখনও কখনও জয়ী হয়।

আসুন আমরা একটি বিশেষ কেস, একটি পিয়ানো রেকর্ডিং বিবেচনা করি। এখানে একটি বর্ণালী:


সর্বাধিক শক্তি 0-4 কেএইচজেড ফ্রিকোয়েন্সিতে থাকে এবং 10 কেজি হার্জ পর্যন্ত স্থায়ী হয়।
অ্যাপটিএক্স ফাইলের বর্ণালীটি এর মতো দেখাচ্ছে:

এখানে এসবিসি 328 কে:

এটি দেখা যায় যে এসবিসি 328 কে পর্যায়ক্রমে 16 কেজি হার্জের ওপরে পরিসীমাটি সম্পূর্ণভাবে কেটে ফেলেছে এবং এই মানের নীচের ব্যাপ্তির জন্য সমস্ত উপলব্ধ বিটরেট ব্যবহার করেছে। তবে, এপটিএক্স মানব কানের দ্বারা শ্রবণযোগ্য ফ্রিকোয়েন্সি বর্ণালীতে আরও বিকৃতি প্রবর্তন করেছে, যা এপটিএক্স স্পেকট্রামগ্রাম (উজ্জ্বল, আরও বিকৃতি) থেকে বিয়োগী মূল বর্ণালীতে দেখা যেতে পারে:


যদিও এসবিসি 328 কে 0 থেকে 10 কেজি হার্টের মধ্যে সীমার সিগন্যালটি কম বিকৃতিতে প্রবর্তন করেছে এবং বাকীটি হ'ল:

এসবিসির জন্য বিট্রেট 485 কে ব্যান্ডগুলি কেটে না ফেলে পুরো ফ্রিকোয়েন্সি রেঞ্জটি সংরক্ষণ করার জন্য যথেষ্ট ছিল।

এই অডিও নমুনায় এসবিসি 485 কে 0-15 কাহাহার্জ রেঞ্জের এপটিএক্সের চেয়ে অনেক ভাল, এবং একটি ছোট তবে এখনও লক্ষণীয় পার্থক্য সহ - 15-22 কেএজেডজেড (আরও গা dark়, কম বিকৃতি):

উচ্চ বিটরেট এসবিসি-তে স্যুইচ করা, আপনি যে কোনও হেডফোনগুলিতে বেশিরভাগ সময় অ্যাপটেক্সের চেয়ে উচ্চতর একটি শব্দ পাবেন sound

  • অরিজিনাল_অ্যান্ড_্যাপটেক্স.জিপ
  • sbc.zip

অ্যান্ড্রয়েড 5 - 7 এ ব্লুটুথ স্ট্যাকগুলি কীভাবে সংশোধন করবেন

এই পরিবর্তনগুলি অ্যান্ড্রয়েড ব্লুটুথ স্ট্যাক ব্লুড্রয়েড (অ্যান্ড্রয়েড 5) এবং ফ্লুরাইড (অ্যান্ড্রয়েড 6-7) স্টক প্রয়োগ করতে হবে। কোয়ালকম-পরিবর্তিত স্ট্যাক সমর্থিত নয়।

স্ট্যান্ডার্ড এসবিসি কনফিগারেশনে ডুয়াল চ্যানেলের সাথে জয়েন্ট স্টেরিও প্রতিস্থাপন করুন

অ্যান্ড্রয়েড / প্ল্যাটফর্ম / বহিরাগত / ব্লুটুথ / ব্লুয়েড / বিটিফ / সহ / বিটিএ_ভ_কো

কোড:

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 / * মিনি_বিটপুল * /};

A2D_SBC_IE_CH_MD_JOINT কে A2D_SBC_IE_CH_MD_DUAL দিয়ে প্রতিস্থাপন করুন।

দ্বৈত চ্যানেল অগ্রাধিকার বৃদ্ধি করুন

অ্যান্ড্রয়েড / প্ল্যাটফর্ম / বহিরাগত / ব্লুটুথ / ব্লুড্রয়েড / বিটিফ / সহ / বিটিএ_এভি_সিএসি: 41

কোড:

যদি (src_cap.ch_mode এবং A2D_SBC_IE_CH_MD_JOINT) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_JOINT; অন্যথায় যদি (src_cap.ch_mode এবং A2D_SBC_IE_CH_MD_STEREO) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_STEREO; অন্যথায় যদি (src_cap.ch_mode এবং A2D_SBC_IE_CH_MD_DUAL) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_DUAL; অন্যথায় যদি (src_cap.ch_mode এবং A2D_SBC_IE_CH_MD_MONO) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_MONO; A2D_SBC_IE_CH_MD_DUAL সহ শীর্ষে চলে যান।
  1. অক্ষম করুন বা বিটরেট সীমাবদ্ধতা বাড়ান

অ্যান্ড্রয়েড ব্লুটুথ স্ট্যাকের কেবল বিটপুল সীমা নেই, তবে বিটরেট সীমাও রয়েছে, 328 কেবিট / সেকেন্ড। যদি হেডফোনগুলি সমর্থন করে, উদাহরণস্বরূপ, 48 কেএইচজেডের জন্য বিটপুল 53, অ্যান্ড্রয়েড বিটপুলটি কমিয়ে 328 কেবিট / সীমাতে ফিট করবে। কোডিং আলোচনার পরে এনকোডিং পর্যায়ে এটি ঘটবে, ব্লুটুথ সেটক্যাবিলিটি প্যাকেটের বিটপুলের মানটি গ্রহণ করবেন না।

অ্যান্ড্রয়েড / প্ল্যাটফর্ম / বহিরাগত / ব্লুটুথ / ব্লুয়েড / বিটিফ / এসসিআর / বিটিফ_মিডিয়া_টাস্ক.সি: 172

কোড:

# ডেফাইন DEFAULT_SBC_BITRATE 328

512 দিয়ে প্রতিস্থাপন করুন।

  1. (শুধুমাত্র পরীক্ষার জন্য) এমটিইউ সীমা অক্ষম করুন।

এটি বিটরেটের জন্য ~ 580 কেবিট / সেকেন্ডের বেশি প্রয়োজন।

বিটিটিফ / এসসিআর / বিটিফ_মিডিয়া_টাস্ক.সি: 174

কোড:

/ * 2DH5 পেলোডের আকার 679 বাইট - (4 বাইট এল 2 সিএপি শিরোনাম + 12 বাইট অ্যাভিডিটিপি শিরোনাম) * / # ডিফাইন MAX_2MBPS_AVDTP_MTU 663

অ্যান্ড্রয়েড 8 - 9 এ ব্লুটুথ স্ট্যাকগুলি কীভাবে সংশোধন করবেন

এই পরিবর্তনগুলি পরীক্ষা করা হয়নি, তবে কাজ করা উচিত।

A2DP এসবিসি উত্সে দ্বৈত চ্যানেল সমর্থন যুক্ত করুন

/ প্ল্যাটফর্ম / সিস্টেম / বিটি / স্ট্যাক / এ 2 ডিপি / এ 2 ডিপি_এসবিসি.cc55

কোড:

/ * এসবিসি এসআরসি কোডেক ক্ষমতা * / স্ট্যাটিক কনস্ট্যান্ট tA2DP_SBC_CIE a2dp_sbc_caps = A2DP_SBC_IE_BLOCKS_8;

ch_mode এ A2DP_SBC_IE_CH_MD_DUAL যুক্ত করুন।

ডিফল্ট কনফিগারেশনে ডুয়াল চ্যানেলের সাথে জয়েন্ট স্টেরিও প্রতিস্থাপন করুন

/ প্ল্যাটফর্ম / সিস্টেম / বিটি / স্ট্যাক / এ 2 ডিপি / এ 2 ডিপি_এসবিসি.cc:82

কোড:

/ * ডিফল্ট SBC কোডেক কনফিগারেশন * / 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, / * মিনি_বিটপুল * / এ 2 ডিডিএসবিসি_এমএক্স_বিআইটিপুল, / * ম্যাক্স_বিটপুল * / বিটিএভি_এ 2 ডিভিসি_সিডিইসি_বিআইটিএস_পিআর_সাম্প্লে_আই / / বিটস_পার_সাম্পল * /};

A2DP_SBC_IE_CH_MD_JOINT কে A2DP_SBC_IE_CH_MD_DUAL দিয়ে প্রতিস্থাপন করুন।

দ্বৈত চ্যানেল অগ্রাধিকার বৃদ্ধি করুন

/ প্ল্যাটফর্ম / সিস্টেম / বিটি / স্ট্যাক / এ 2 ডিপি / এ 2 ডিপি_এসবিসি.সি.সি 15155

কোড:

স্ট্যাটিক বুল নির্বাচন_বেস্ট_চ্যানেল_মোড (uint8_t ch_mode, tA2DP_SBC_CIE * p_result, btav_a2dp_codec_config_t * p_codec_config) {যদি (ch_mode & A2DP_SBC_IE_CH_MD_JOINT )_এইচসি__আরটিসি__আরএমটিসি_আরএমটিসি_আরএমটিসি p_codec_config-> চ্যানেল_মোড = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO; সত্য প্রত্যাবর্তন; } যদি (ch_mode এবং A2DP_SBC_IE_CH_MD_STEREO) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_STEREO; p_codec_config-> চ্যানেল_মোড = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO; সত্য প্রত্যাবর্তন; } যদি (ch_mode & A2DP_SBC_IE_CH_MD_DUAL) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_DUAL; p_codec_config-> চ্যানেল_মোড = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO; সত্য প্রত্যাবর্তন; } যদি (ch_mode & A2DP_SBC_IE_CH_MD_MONO) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_MONO; p_codec_config-> চ্যানেল_মোড = BTAV_A2DP_CODEC_CHANNEL_MODE_MONO; সত্য প্রত্যাবর্তন; false মিথ্যা প্রত্যাবর্তন; }

A2DP_SBC_IE_CH_MD_DUAL সহ শীর্ষে যান তবে সরান।

বিটরেট সীমা বৃদ্ধি করুন

/ প্ল্যাটফর্ম / সিস্টেম / বিটি / স্ট্যাক / এ 2 ডিপি / এ 2 ডিপি_এসবিসি_এনকোডার.cc:42

কোড:

# ডিফাইন A2DP_SBC_DEFAULT_BITRATE 328

512 দিয়ে প্রতিস্থাপন করুন।

  1. (শুধুমাত্র পরীক্ষার জন্য) এমটিইউ সীমা অক্ষম করুন

এটি বিটরেটের জন্য ~ 580 কেবিট / সেকেন্ডের বেশি প্রয়োজন।

/ প্ল্যাটফর্ম / সিস্টেম / বিটি / স্ট্যাক / এ 2 ডিপি / এ 2 ডিপি_এসবিসি_এনকোডার.cc:47

কোড:

# নির্ধারণ MAX_2MBPS_AVDTP_MTU 663

প্যাচড ব্লুটুথ স্ট্যাকস (ফ্ল্যাশযোগ্য)

  • লে ম্যাক্স 2 ওরিও প্যাচড.জিপ
  • LeEco কুল চেঞ্জার এস 1 EUI_5.8.19S.zip
  • Leeco LE2 (EUI 5.9.26s, Android 6) .zip
  • শাওমি মি নোট (মিউই 9 ম্যুই.সু ইউএনক্রিয়াল ভি 8.4.12, অ্যান্ড্রয়েড 6.0.1) .জিপ
  • শাওমি মাই নোট 3 (এমআইইউআই 9, অ্যান্ড্রয়েড 7) .জিপ
  • শাওমি এমআই 4 সি (অ্যান্ড্রয়েড 7.0 এনআরডি 90 এম, এমআইইউআই -9.5 9.5.1.0 (এনএক্সকেসিএনএফএ)) জিপ
  • শাওমি এমআই 5 এস (এমআইইউআই গ্লোবাল 9.6.1.0, অ্যান্ড্রয়েড 7) .জিপ
  • শাওমি রেডমি 3 এস (অ্যান্ড্রয়েড 6.01, এমএমবি 29 মি, মিউই গ্লোবাল 9.6.1.0)। জিপ
  • শাওমি রেডমি 4 (মিউইপ্রো 10 8.8.2, অ্যান্ড্রয়েড 6.0.1, এমএমবি 29 এম) .জিপ
  • শাওমি রেডমি 4 প্রাইম.জিপ
  • শাওমি রেডমি 4 প্রো (এমআইইউআই 9, মিউইপ্রো 8.4.26) .জিপ
  • শাওমি রেডমি নোট 3 (পুনরুত্থানের রিমিক্স অ্যান্ড্রয়েড 7.1.2_r36) .জিপ
  • রেডমি নোট 4x (মাসিক প্রিমিয়াম, অ্যান্ড্রয়েড 7.0) .জিপ
  • আসুস জুম (অ্যান্ড্রয়েড 5, 2.26.40.108_20160520) .জিপ
  • লে ম্যাক্স 2 ওরিও প্যাচড.জিপ
  • হুয়াওয়ে পি 9 (অ্যান্ড্রয়েড 7) .জিপ
  • স্যামসাং গ্যালাক্সি এস 4 এলটিই জিটি-আই9505 (অ্যান্ড্রয়েড 7.1.2; লাইনএইজ 14.1-20180615-রাত্রি-জেফ্লিটেক্সিক্স) .জিপ
  • জিপ
  • লে ম্যাক্স 2 ওরিও প্যাচড.জিপ
10 মিনিট পঠিত