أندرويد SRC (القصة الكاملة)

الجزء الأول:
في فصل في المدرسة الإعدادية منذ أكثر من 20 عاما ، رسم مدرس الفيزياء رمزا يشبه السيخ على السبورة وأخبرنا أن هذا يسمى المقاومة ، مما يعيق تدفق الكهرباء. ذهل رفيقي الجميل في ذلك الوقت ، وهو يحدق في وجهي ويسأل ، لماذا تستخدمه إذا كان هناك عقبة؟ نعم ، الوجود هو عقلانيته وقيمته ، بما في ذلك ما نريد التحدث عنه اليوم.
يتمتع نظام Android بتجربة مستخدم جيدة وموارد تطبيقات موسيقى غنية ، في السنوات الأخيرة تم اعتماده من قبل المزيد والمزيد من الطوب الوطني ، ولكن تم انتقاد نظام الصوت في Android ، من أقرب خوارزمية SRC أدنى ، إلى نظام عمل البرامج والأجهزة المعقدة ، فمن الصعب بالفعل التحكم فيه جيدا ، بحيث تعتقد العديد من التعليقات أن استخدام Android ليقول وداعا للصوت الجيد. هل يمكن حل ذلك؟ هل من الممكن تحقيق تأثير نظام صوت نقي مغلق؟
قاد فريق تطوير Haibei Music تصميم برامج الصوت وبنية الأجهزة للعديد من منصات Android ، ولديه أيضا بعض الخبرة ، وهنا تصميم الأجهزة والروابط الأخرى ، على الاهتمام العالي نسبيا لمشكلة SRC للتحدث إليك.
أصل SRC والوضع الحالي لمنصة Android
مشاكل SRC في نظام Android المبكر لها تأثير كبير جدا على الصوت ، إلى جانب ترقية Android نفسه ، تم تحسين معظم السيناريوهات ، كما حلت بعض الهواتف المحمولة بعض مشكلات SRC التي يتم تشغيلها محليا (بالكاد يمكن حل الهواتف المحمولة تماما ، كما سيتم مناقشته أدناه) ، لا يمكن للمستخدمين الذين يستمعون عموما إلى الموسيقى باستخدام الهواتف المحمولة الخوض بعمق. ولكن بالنسبة للمستخدمين الذين يتابعون HiFi ويرغبون في الحصول على إخراج مثالي Bit ، فإن SRC هي بالفعل المشكلة الأولى التي يتعين على لاعبي Android حلها.
الاسم الكامل ل SRC هو تحويل معدل العينة ، لنبدأ بمعدل العينة:
يشير أخذ العينات إلى عملية أخذ العينات من الإشارة المستمرة للنظام التناظري إلى الإشارة المنفصلة للنظام الرقمي ، في غضون فترة زمنية معينة ، كلما تم استخراج المزيد من العينات ، كلما كان وصف الإشارة الأصلية أكثر دقة ، كلما تم استخراج المزيد من البيانات ، أي كلما ارتفع معدل أخذ العينات (التردد).
لأسباب تاريخية مختلفة ، هناك معايير متعددة لمعدل العينات لأنظمة الصوت الرقمية ، وأكثرها انتشارا هي 44.1 كيلو هرتز و 48 كيلو هرتز ، ومضاعفاتها 88.2 كيلو هرتز ، 96 كيلو هرتز ، 176.4 كيلو هرتز ، 192 كيلو هرتز ... حتى المشغل دعم معدل أخذ عينات يصل إلى 768 كيلو هرتز ، ومعدل أخذ عينات DSD يزيد عن 11.2 مليون ، مما يوفر مساحة كبيرة جدا للصوت الرقمي ، ويمكنه تصميم دوائر تناظرية صوتية أكثر مرونة مع الحصول على المزيد من تفاصيل الموسيقى.
على الرغم من أنه يمكن أن يكون هناك معدلات عينات صوتية متعددة ، إلا أن المحول الرقمي إلى التناظري للأجهزة (DAC) لا يمكن أن يعمل إلا بتردد أخذ عينات ثابت في كل مرة ، والتبديل بين معدلات العينات المختلفة مكلف للغاية ، والمشكلة الرئيسية هي أن الصوت ينقطع ويجلب صدمة "فرقعة". في الأنظمة المفتوحة ، مثل أجهزة الكمبيوتر والهواتف الذكية ، قد يكون هناك مصادر صوتية متعددة بمعدلات عينات مختلفة تحتاج إلى إنتاج صوت في نفس الوقت ، وهناك حاجة إلى معدل عينة ثابت لتجنب انقطاع الصوت ، مما يجعل مصادر الصوت المختلفة كلها يجب تحويلها إلى نفس معدل العينة (أي عملية SRC) ثم خلطها ، ثم إرسالها إلى DAC للمعالجة.
هذا هو سبب ظهور SRC ، ومن المعقول أن توجد. بعد كل شيء ، هذه طريقة لمعالجة أوضاع عمل الصوت متعددة الخيوط في وقت واحد في ظل بنية الأجهزة الحالية ، وفي الوقت نفسه ، هذه التطبيقات ليست للسعي وراء تقديم جودة صوت عالية الدقة ؛
للأسباب المذكورة أعلاه أيضا ، طور المطورون برامج تشغيل متعددة على أجهزة الكمبيوتر التي تتجاوز نظام SRC الصوتي ، مثل ASIO ، والذي يشيع استخدامه على Windows.
على هواتف Android ، يكون نظام الصوت أكثر تعقيدا ، مع مراعاة المكالمات والإنذارات وإشعارات النظام و Bluetooth والقنوات الصوتية الأخرى ، ولا يمكنه منح HiFi دعما خاصا من النظام الأساسي. ونظرا للتمايز الخطير لإصدارات Android والاختلافات الكبيرة في أجهزة الشركات المصنعة ، من الصعب إجراء برنامج تشغيل صوت عالمي مستقل. الممارسة الشائعة هي إخراج الصوت الأصلي من خلال USB ، وتجاوز بنية الصوت للنظام ، USB Audio Player Pro تم تنفيذ هذا التطبيق لأول مرة ، متبوعا ب Haishell Music ، من الإصدار 1.0 لدعم الإخراج الأصلي ل Android USB Audio ، ولكن أيضا أول برنامج تشغيل مجاني لدعم USB Audio ، منذ ولادته إلى ما يقرب من أربع سنوات دون انقطاع تصحيح الأخطاء وتحسين المزيد من دعم أجهزة الجهات الخارجية (مثل العلامات التجارية أو الطرز المختلفة للهواتف المحمولة لنظام Android).
يمكن ملاحظة أن مشكلة SRC على الهواتف المحمولة قد جذبت انتباه العديد من برامج تشغيل Hi-Fi وحققت اختراقات معينة ، وهناك العديد من التطبيقات مثل Onkyo HF Player و Neutron Player و PowerAmp وما إلى ذلك قد دعمت إخراج صوت USB لتجاوز Android SRC ، ويعد تطبيق Haibei Music أيضا أحد التطبيقات الأولى التي تضيف دعم صوت USB. يمكن لطريقة الاستخدام هذه أن تحل بشكل فعال مشكلة توصيل الهاتف المحمول الذي يعمل بنظام Android وفك ترميز USB الخارجي ، ولكن لا يمكنها فعل أي شيء حيال إخراج سماعة الرأس للهاتف المحمول نفسه.
غالبا ما نتلقى رسائل بريد إلكتروني من المستخدمين يطلبون منا دعم جهاز تكون فيه الهواتف المحمولة وذاكرة القراءة فقط وأجهزة فك التشفير غير واضحة ، وبسبب هذه الاحتياجات بالتحديد ، أطلقت Haishell Music أول مشغل Android - R6 بعد تراكم واختراقات تكنولوجية مستمرة. في الوقت الحاضر ، يستخدم R6 الجيل الرابع من تقنية DTA (صوت النقل المباشر) من Haibei Music ، والتي تعد أيضا أحدث مشغل وأكثرها اكتمالا لمعالجة SRC بواسطة Haibei Music ، ويمكن تشغيل تطبيقات الموسيقى الأخرى على R6 بشكل فعال حل المشكلات التي جلبتها SRC.
بعد قول كل ما سبق ، قد يكره الجميع Android القليل من الحديد ليس من الصلب ، وبعد سنوات عديدة ، لا يزال من المستحيل التعامل مع مشكلة SRC. ولكن ، هذا في الحقيقة ليس آن! عميقه! هدف! ووك! ماذا؟ هل أنت تمزح معي؟
نظر Android في هذه المشكلات منذ الإصدارات المبكرة جدا ، حيث قام بذكاء بإعداد شيء يسمى HAL (طبقة تجريد الأجهزة) لعزل أجهزة تطبيقات وأنظمة Android ، وتكوينها من خلال الملف audio_policy.conf. عندما يقوم المصنعون بتخصيص Android ، يتم تعديلها بشكل أساسي في HAL ، بما في ذلك تقنية DTA الخاصة ب Haibei R6 يتم تنفيذها أيضا في الغالب في HAL.
بنية الصوت لأجهزة Android الشائعة (مبسطة لسماعات الرأس السلكية لتشغيل الموسيقى)
في الواقع ، هناك العديد من SRCs في Android:
الأول هو [SRC1] داخل التطبيق ، والذي يتحكم فيه التطبيق نفسه وليس له علاقة مباشرة بنظام Android.
والثاني هو SRC2 الخاص بنظام Android ، الموجود في AudioFlinger الخاص بنظام Android. تمر معظم تطبيقات الموسيقى عبر SRC هذا. في الواقع ، أعد Android قناة خاصة لتجاوزها ، لكنها تحتاج إلى تكوين مطابق ودعم خلفي ، مثل Poweramp Alpha's HiRes يستخدم هذه القناة.
والثالث هو [SRC3] لطبقة DSP / برنامج التشغيل ، وهو مرتبط بالنظام الأساسي ولا يرتبط مباشرة بنظام Android. على سبيل المثال ، ستوفر رقائق Qualcomm هذه الوظيفة في DSP ، ولن توفر رقائق مثل Rising Micro (لأنه لا يوجد DSP).
يشير معظم الأشخاص عادة إلى Android SRC باسم [SRC2]. من أجل تقليل احتمالية حدوث مشاكل وتحسين توافق التطبيق ، لا تتجاوز الهواتف المحمولة عموما SRC هذا. حاليا ، لا يقدم سوى عدد قليل من منصات Android قناة خاصة (السهم البرتقالي أعلاه) للاتصال مباشرة ب HAL.
بعد ذلك ، سأصف التعامل مع SRC بواسطة أجهزة Android المختلفة.
هاتف أندرويد عادي لمعالجة SRC
لا يزال يتعين ذكر ذلك ، فالهواتف المحمولة العادية لا تهتم بأي SRC ، فقط لضمان إمكانية إصدار صوت في سيناريوهات مختلفة. الطريقة الأكثر شيوعا للتعامل معها هي توحيد ناتج [SRC2] إلى 48K ، وهي الطريقة الأبسط والأكثر فظاظة. حتى بعض الهواتف التي تتباهى بأنها HiFi تضيف فقط شريحة أذن إلى الواجهة الخلفية. لذلك ، تتم معالجة جميع الموسيقى الخاصة بك ، باستثناء 48K ، بواسطة SRC. اليوم ، عندما لا تزال مصادر الصوت 44.1K تمثل الغالبية العظمى ، فإن الاستماع إلى الموسيقى باستخدام هذا الهاتف المحمول لا يمكنك سماع الصوت الحقيقي.
بالنسبة لهواتف Android ومشغلات Android ذات سمات HiFi ، كيف يتعاملون مع SRC؟ سأستمر في تحليلها معك في المقالة التالية.
التالي: كل الطرق تؤدي إلى روما!

منذ حوالي 8 سنوات ، اشتريت سيارة مزودة بعلبة تروس مزدوجة القابض ، ولم تدم بدايتها السلسة والسريعة طويلا ، مما تسبب في مشاكل خطيرة مثل فقدان الطاقة والركود. هذا صحيح ، قد يعرف السائقون القدامى أنها السيارة التي كشفتها CCTV 315. منذ اختراع سيارة محرك الاحتراق الداخلي ، واصل المهندسون تصميم مجموعة متنوعة من علب التروس عالية الأداء لتحسين كفاءة ناقل الحركة باستمرار ، ولكن هل يجب أن تحتوي على علبة تروس؟ قامت سيارة Koenigsegg الخارقة Regera من السويد بإزالة علبة التروس بجرأة وتقصير التسارع من 0 إلى 400 كم إلى أقل من 20 ثانية من خلال الدفع المباشر KDD. هل حلمت يوما بامتلاك سيارة رياضية مثل هذه؟
بالتنقيط ، وصل Zhongguancun ، حان الوقت للاستيقاظ ، موضوعنا اليوم لا يزال SRC. في المقالة السابقة ، قدمت أصل SRC والهندسة الصوتية لنظام Android ، وهذه المرة سأتحدث عن السيارة الخارقة بدون SRC ، أوه لا ، مشغل Android. (الصورة الرئيسية تأتي من Autohome ، يمكن للمهتمين التعلم بأنفسهم)
دعونا أولا نلقي نظرة على التعامل مع SRC بواسطة هواتف Android HiFi
نحن نتفهم بشكل عام أن هواتف HiFi المحمولة هي هواتف محمولة ذات دوائر DAC ودوائر مضخم للأذن مستقلة ، والتي تغيرت بشكل كبير عن الهواتف المحمولة التقليدية ، لذلك لم تصبح SRC محور الاهتمام على هواتف HiFi المحمولة. على الرغم من أن بعض هواتف HiFi يمكنها دعم الساعات الخارجية مثل مذبذبات الكريستال المزدوجة ، إلا أنها لا تحل مشكلة SRC بشكل كامل.
يمكن تبسيط مخطط الكتلة العام على النحو التالي:
سيستخدم المشغل المدمج قناة خاصة لضمان إرسالها مباشرة إلى DSP دون المرور عبر [SRC2]. ومع ذلك ، فإن [SRC3] ليس بالضرورة ، وفي حالة عدم وجود مذبذب بلوري مزدوج خارجي ، من الممكن إصلاح الإخراج بمعدل أخذ عينات أعلى من خلال [SRC3] ، مثل 192K ؛ في حالة مؤشرات التذبذب البلورية المزدوجة ، يمكن تخطي [SRC3] ويمكن استخدام معدل أخذ العينات الذي يوفره DAC خارجي (مثل DACs الاحترافية للعلامات التجارية مثل ESS لها وظيفة إخراج الساعة).
بالنسبة لتطبيقات الطرف الثالث ، فهي ليست محظوظة جدا ، ولا تزال من خلال [SRC2] ، موحدة في 48K ، وقد تغير أخذ العينات مرة أخرى من خلال [SRC3]! بالطبع لا! أشعر بالأسف على الموسيقى السحابية NetEase الخاصة بك.
التعامل العادي مع مشغل Android ل SRC
وفقا للهندسة المعمارية ، يمكن تقسيمها تقريبا إلى فئتين:
النوع الأول هو النوع المنفصل. يمكن فهمه على أنه مزيج من واجهة Android الأمامية ووحدة فك ترميز USB ، متصلة داخليا عبر USB.
كما هو موضح في الشكل 4 ، فإن الجانب الأيسر من الخط المنقط هو الواجهة الأمامية القياسية لنظام Android ، والجانب الأيمن هو وحدة فك ترميز USB.
ميزة ذلك هي أن تطبيقات الجهات الخارجية التي تدعم إخراج USB يمكنها تجاوز نظام Android مباشرة والإخراج إلى واجهة USB ، وهو نفس استخدام أجهزة فك ترميز USB الخارجية. يعتمد ما إذا كان هناك SRC في هذه الحالة على تطبيق USB نفسه.
يستخدم المشغل المدمج أيضا قناة خاصة بدون SRC. لا تزال تطبيقات الجهات الخارجية التي لا تدعم إخراج USB تمر عبر [SRC2] ، تشعر مرة أخرى بالأسف على NetEase Cloud Music.
النوع الثاني هو نوع الكل في واحد. هذا نهج أكثر تقليدية ، لكن التغييرات على Android ستكون أكبر.
يشبه هذا النوع في الواقع معالجة الهواتف المحمولة HiFi ، باستثناء وجود FPGA مخصص للقيام بإدارة الساعة ، مما يوفر معدل أخذ عينات أعلى بما في ذلك الدعم الأصلي ل DSD ، ولن يكون هناك [SRC3] (انظر الشكل 5) ، وتدفقات المعالجة الأخرى متشابهة.
الجيلين الثاني والثالث من تقنية de-SRC من Seashell Music من هذا النوع الكل في واحد.
في كلا النوعين المذكورين أعلاه ، يمكن تجاوز تحويل معدل العينة 2.44 بواسطة [SRC1] عن طريق تكوين HAL ، مما يعني أنه في هذه الحالة ، يمكن لمشغل الطرف الثالث تجاوز [SRC44] فقط عند لعب 1.2.
هناك أيضا أسباب أخرى ل SRC ، مثل مشاكل ساعة التشغيل عند استخدام رقائق سلسلة ESS90x8 على اللاعبين الأوائل ، مما أدى إلى تقليل 352.8K / 384K إلى 176.4K / 192K للتشغيل.
الجيل الرابع من تقنية دي SRC DTA هو تطبيق جديد - HiBy R6 الروبوت لاعب لمعالجة SRC
كما ذكرنا في المقالة السابقة ، ينتمي DTA الذي يستخدمه HiBy R6 Android Player إلى تقنية de-SRC من الجيل الرابع ، وهي أيضا بنية مصممة حديثا:
، تجنب HiBy R6 تماما [SRC2] ، وتتمتع أي تطبيقات موسيقى تابعة لجهات خارجية بنفس الحقوق التي يتمتع بها مشغلوها ، مما يؤدي إلى إنشاء قناة من السكك الحديدية إلى السكك الحديدية إلى HAL ، والتي يمكنها إخراج جميع معدلات العينات المدعومة مباشرة (حتى 384K أو DSD256) ، ثم الإخراج إلى FPGA بواسطة HAL كاختيار مسار ذكي. في الوقت نفسه ، ستتجاوز هذه الطريقة أيضا جميع عمليات المعالجة اللاحقة للصوت في Android ، بما في ذلك EQ ، والتردد ، والخلط ، وما إلى ذلك ، لذلك لن تعمل أي مكونات إضافية صوتية تابعة لجهة خارجية ، وهو ما يعادل وضع ASIO لنظام Android.
ما يجب على تطبيق الجهة الخارجية فعله هو عدم إجراء أي معالجة ، والإخراج مباشرة وفقا للمعيار. لذلك حتى التطبيقات القديمة جدا يمكنها تحقيق إخراج خال من SRC.
لفهم حالة الإخراج بشكل أكثر سهولة ، يضيف R6 عرض معدل عينة في الوقت الفعلي على شريط الحالة ، والذي يمكن أن يساعدك أيضا في التحقق مما إذا كان [SRC1] موجودا في تطبيقات الطرف الثالث. لا يمكن حل إزالة [SRC1] إلا من خلال التطبيق المقابل نفسه ، على سبيل المثال ، ستقلل QQ Music من 48K أعلاه إلى 44.1K أو 48K داخليا ، وهناك جدول لاختبارنا الخاص ل [SRC1].
بالإضافة إلى ذلك ، أضفنا واجهة إدخال صوت ذات نقطة عائمة عالية الدقة ل HAL على R6 ، مثل jet Audio Plus يمكنها تشغيل وضع HRA مباشرة لإخراج صوت الفاصلة العائمة 32 بت.
بعد اختبارنا ، يمكن إخراج NetEase Cloud Music جيدا بمعدل أخذ العينات الأصلي ، ويمكن للشعلات التي اعتادت على NetEase Cloud Music استخدامها بثقة.
تطوير تقنية SRC يذهب إلى منصة Android
توافق تطبيقات الموسيقى التابعة لجهات خارجية مع SRC
بعد اختبارنا على R6 ، يمكن تقسيم تطبيقات الموسيقى تقريبا إلى ثلاث فئات:
النوع الأول هو النوع المباشر ، والذي لا يقوم عموما بأي معالجة (مثل 192K) ويتم إخراجه مباشرة إلى النظام ، مثل الإصدار الجديد من NetEase Cloud Music.
النوع الثاني هو النوع العادي ، لاعتبارات التوافق ، سيتم تعيين [SRC1] في التطبيق ، مثل QQ Music و Kuwo Music.
الفئة الثالثة هي النوع الاحترافي ، والذي يوفر إعدادات إخراج مفصلة للغاية ، مثل Poweramp alpha.
يعتمد النوع المباشر بشكل كبير نسبيا على النظام ، ويتم التعامل معه جميعا بواسطة النظام ، والذي سيختلف اختلافا كبيرا على الأجهزة المختلفة. يعتمد النوع العادي بشكل منخفض على النظام ويمكن أن يكون متوافقا جيدا مع الأجهزة المختلفة ، لكنه لا يمكنه توفير أداء أعلى. يمكن اختيار المحترفين بمرونة من خلال تكوينات مختلفة ، ومناسبة للمستخدمين الذين لديهم أساس معين.
حالة تطبيق الموسيقى المشترك SRC على HiBy R6
أخيرا ، آمل أنه من خلال هاتين المقالتين ، سيكون لدى الأصدقاء المحترقين فهم أعمق ل SRC الخاص بنظام Android ، واختيار الجهاز والتطبيق المناسبين وفقا لعادات الاستخدام الخاصة بهم ، وآمل أيضا أن يلعبوا دورا في تقديم الطوب والأحجار للممارسين في صناعة اللاعبين.
ما هو رد فعلك؟






