PulseAudio
PulseAudio هو برنامج خادم صوتي يدعم الشبكات، ويتم توزيعه عبر مشروع freedesktop.org . يعمل البرنامج بشكل أساسي على أنظمة لينكس ، بما في ذلك نظام ويندوز الفرعي للينكس على نظام مايكروسوفت ويندوز، و Termux على نظام أندرويد ؛ بالإضافة إلى توزيعات BSD المختلفة مثل FreeBSD و OpenBSD و macOS ؛ وكذلك توزيعات Illumos ونظام التشغيل Solaris . يعمل البرنامج كوسيط بين التطبيقات والأجهزة، ويتعامل مع تدفقات الصوت PCM الخام . [ 5 ]
برنامج PulseAudio هو برنامج مجاني ومفتوح المصدر ، وهو مرخص بموجب شروط رخصة LGPL-2.1 أو أحدث . [ 4 ]
تم إنشاؤه في عام 2004 تحت اسم Polypaudio ولكن تم تغيير اسمه في عام 2006 إلى PulseAudio. [ 6 ]
يتنافس برنامج PulseAudio مع برنامج PipeWire الأحدث ، الذي يوفر خادمًا متوافقًا مع PulseAudio (يُعرف باسم pipewire-pulse)، ويُستخدم PipeWire الآن افتراضيًا في العديد من توزيعات لينكس، بما في ذلك فيدورا لينكس ، وأوبونتو ، وديبيان . [ 7 ] [ 8 ] [ 9 ]
دعم نظام التشغيل مايكروسوفت ويندوز
في نظام التشغيل مايكروسوفت ويندوز ، يعمل برنامج PulseAudio ضمن نظام ويندوز الفرعي لنظام لينكس .
كانت نواة نظام التشغيل NT مدعومة سابقًا عبر MinGW (وهي تطبيق لمجموعة أدوات GNU ، والتي تتضمن أدوات متنوعة مثل GCC و binutils ). ومع ذلك، لم يتم تحديث منفذ نواة نظام التشغيل NT منذ عام 2011. [ 10 ]
هندسة البرمجيات


بشكل عام، يُعد ALSA نظامًا فرعيًا في نواة النظام يوفر برنامج تشغيل أجهزة الصوت، بينما يُعد PulseAudio محرك الربط بين التطبيقات وALSA. مع ذلك، فإن استخدامه ليس إلزاميًا، ويمكن تشغيل الصوت ومزجه دون الحاجة إلى PulseAudio.
يعمل PulseAudio كخادم صوت، حيث يتم إنشاء عملية خلفية تستقبل مدخلات الصوت من مصدر واحد أو أكثر (عمليات، أجهزة التقاط، إلخ). ثم تقوم العملية الخلفية بإعادة توجيه مصادر الصوت هذه إلى وجهة واحدة أو أكثر (بطاقات الصوت، خوادم PulseAudio عن بُعد عبر الشبكة، أو عمليات أخرى). [ 11 ]
يتمثل أحد أهداف PulseAudio في إعادة توجيه جميع تدفقات الصوت من خلاله، بما في ذلك تلك الصادرة من العمليات التي تحاول الوصول مباشرةً إلى الأجهزة (مثل تطبيقات البرمجيات مفتوحة المصدر القديمة ). ويحقق PulseAudio ذلك من خلال توفير محولات للتطبيقات التي تستخدم أنظمة صوتية أخرى، مثل aRts و ESD .
في سيناريو تثبيت نموذجي على نظام لينكس، يقوم المستخدم بتهيئة ALSA لاستخدام جهاز افتراضي مُقدّم من PulseAudio. بالتالي، تُخرج التطبيقات التي تستخدم ALSA الصوت إلى PulseAudio، الذي يستخدم بدوره ALSA للوصول إلى بطاقة الصوت الحقيقية. كما يوفر PulseAudio واجهة أصلية خاصة به للتطبيقات التي ترغب في دعمه مباشرةً، بالإضافة إلى واجهة قديمة لتطبيقات ESD، مما يجعله بديلاً مناسبًا لتطبيقات ESD.
بالنسبة لتطبيقات البرمجيات مفتوحة المصدر، توفر PulseAudio padspأداةً تستبدل ملفات الجهاز، مما /dev/dspيوهم التطبيقات بأنها تتحكم بشكل حصري في بطاقة الصوت. في الواقع، يتم إعادة توجيه مخرجاتها عبر PulseAudio.
libcanberra
libcanberra عبارة عن واجهة برمجة تطبيقات مجردة لأصوات أحداث سطح المكتب وبديل كامل لـ "واجهة برمجة تطبيقات ذاكرة التخزين المؤقت لعينات PulseAudio":
مكتبة سيدني
تُعد مكتبة libSydney بديلاً كاملاً لواجهة برمجة تطبيقات البث الصوتي PulseAudio، وقد وُضعت خطط لجعل libSydney في نهاية المطاف واجهة برمجة التطبيقات الصوتية الوحيدة المستخدمة في PulseAudio. [ 15 ]
سمات
تشمل الميزات الرئيسية لـ PulseAudio ما يلي: [ 11 ]
- عناصر التحكم في مستوى الصوت لكل تطبيق [ 16 ]
- بنية إضافات قابلة للتوسيع مع دعم الوحدات القابلة للتحميل
- التوافق مع العديد من تطبيقات الصوت الشائعة [ 17 ]
- دعم مصادر ومخرجات صوتية متعددة
- بنية ذاكرة بدون نسخ لتحسين كفاءة استخدام موارد المعالج
- القدرة على اكتشاف أجهزة الكمبيوتر الأخرى التي تستخدم PulseAudio على الشبكة المحلية وتشغيل الصوت من خلال مكبرات الصوت الخاصة بها مباشرة
- إمكانية تغيير جهاز الإخراج الذي تستخدمه التطبيقات لتشغيل الصوت أثناء تشغيلها للصوت (لا تحتاج التطبيقات إلى دعم هذا، فتقنية PulseAudio قادرة على القيام بذلك دون أن تكتشف التطبيقات حدوث ذلك).
- واجهة سطر أوامر مزودة بإمكانيات البرمجة النصية
- برنامج تشغيل صوتي مزود بإمكانيات إعادة التكوين عبر سطر الأوامر
- إمكانيات مدمجة لتحويل العينات وإعادة أخذ العينات
- إمكانية دمج عدة بطاقات صوتية في بطاقة واحدة
- القدرة على مزامنة عدة مسارات تشغيل
- دعم أجهزة الصوت بتقنية البلوتوث مع إمكانيات الكشف الديناميكي
- القدرة على تمكين معادلة النظام على مستوى النظام
التبني
ظهرت تقنية PulseAudio لأول مرة للمستخدمين العاديين في توزيعة Fedora Linux ، بدءًا من الإصدار 8، [ 18 ] ثم اعتمدتها توزيعات Linux الرئيسية مثل Ubuntu و Debian ، [ 19 ] و Mandriva Linux و openSUSE . يدعم مشروع GNOME و KDE تقنية PulseAudio، حيث تم دمجها في مساحات عمل Plasma ، مما يضيف دعمًا لبرنامج Phonon (إطار عمل الوسائط المتعددة الخاص بـKDE) وبرنامج KMix (تطبيق المزج المدمج)، بالإضافة إلى واجهة مستخدم رسومية "إعداد السماعات" لتسهيل تهيئة السماعات متعددة القنوات. تتوفر PulseAudio أيضًا في توزيعة Illumos المسماة OpenIndiana ، وهي مُفعّلة افتراضيًا في بيئة سطح المكتب MATE الخاصة بها.
تستخدم العديد من الأجهزة المحمولة التي تعمل بنظام التشغيل Linux ، بما في ذلك Nokia N900 و Nokia N9 و Palm Pre [ 20 ]، تقنية PulseAudio.
يستخدم نظام التشغيل المحمول مفتوح المصدر Tizen ، وهو مشروع تابع لمؤسسة Linux وتديره مجموعة توجيه فنية (TSG) تتكون من Intel و Samsung ، تقنية PulseAudio.
المشاكل التي تحدث خلال مرحلة التبني
- كانت واجهة برمجة تطبيقات PortAudio غير متوافقة مع تصميم PulseAudio، مما استدعى تعديلها. [ 21 ] كما تطلّب الأمر تعديل جميع الحزم التي تستخدم البرمجيات مفتوحة المصدر، والعديد من الحزم التي تستخدم ALSA، لدعم PulseAudio. [ 22 ] واستلزم تطوير ميزة الصوت الخالي من التشويش إعادة كتابة كاملة لنواة PulseAudio، بالإضافة إلى إجراء تغييرات على واجهة برمجة تطبيقات ALSA وبنيتها الداخلية. [ 23 ] [ 24 ]
- عندما اعتمدت توزيعات أوبونتو برنامج PulseAudio لأول مرة، وصفه مطوره لينارت بوتيرينغ (مبتكر systemd أيضًا ) بأنه "البرنامج الذي يُعطّل الصوت حاليًا". [ 25 ] لاحقًا، ادعى بوتيرينغ أن " أوبونتو لم تُحسن التعامل مع PulseAudio. لم تُجرِ دراسة كافية" عند اعتماده [ 26 ] في إصدار أوبونتو "هاردي هيرون" (8.04)، وهي مشكلة تم حلها في الإصدارات اللاحقة من أوبونتو. [ 27 ] مع ذلك، في أكتوبر 2009، أفاد بوتيرينغ بأنه لا يزال غير راضٍ عن دمج أوبونتو لبرنامج PulseAudio. [ 28 ]
- التفاعل مع مكونات الصوت القديمة بواسطة برامج معينة: تسببت بعض البرامج، مثل Adobe Flash لنظام Linux، في عدم استقرار PulseAudio. [ 29 ] [ 30 ] لا تتطلب الإصدارات الأحدث من إضافات Flash العناصر المتعارضة، ونتيجة لذلك أصبح Flash وPulseAudio متوافقين الآن.
- إدارة مبكرة لتجاوزات/نقصان المخزن المؤقت: بدأت الإصدارات السابقة من PulseAudio أحيانًا في تشويه الصوت المعالج بسبب المعالجة غير الصحيحة لتجاوزات/نقصان المخزن المؤقت. [ 31 ]
- بالنسبة لمستخدمي سماعات الرأس، هناك احتمال لفقدان السمع الناتج عن الضوضاء بسبب مستويات الصوت العالية للغاية في حالة وجود تطبيق معطل. [ 32 ] [ 33 ] [ 34 ] [ 35 ]
البرامج ذات الصلة
خوادم صوتية أخرى
JACK هو خادم صوت يوفر أداءً صوتيًا فوريًا بزمن استجابة منخفض (5 مللي ثانية أو أقل)، ومنذ إصدار JACK2، يدعم موازنة الأحمال بكفاءة عالية باستخدام المعالجة المتعددة المتناظرة ؛ أي أنه يمكن توزيع حمل جميع عملاء الصوت على عدة معالجات. يُعد JACK خادم الصوت المفضل لتطبيقات الصوت الاحترافية مثل Ardour و ReZound و LinuxSampler ؛ وتستخدمه العديد من توزيعات إنتاج الصوت المجانية كخادم الصوت الافتراضي.
من الممكن أن يتعايش برنامجا JACK وPulseAudio: فبينما يعمل برنامج JACK، يمكن لبرنامج PulseAudio الاتصال تلقائيًا كعميل لبرنامج JACK، مما يسمح لعملاء PulseAudio بإنشاء وتسجيل الصوت في نفس الوقت الذي يقوم به عملاء JACK. [ 36 ]
يُعدّ PipeWire خادمًا للصوت والفيديو "يهدف إلى دعم حالات الاستخدام التي يتعامل معها حاليًا كل من PulseAudio وJack". [ 37 ] [ 38 ]
البنية التحتية العامة للصوت
قبل ظهور JACK وPulseAudio، كانت إدارة الصوت في هذه الأنظمة تتم عبر حلول صوتية متكاملة متعددة الأغراض. لا تغطي هذه الحلول عملية المزج وبث الصوت بشكل كامل، ولكن لا يزال JACK وPulseAudio يستخدمانها لإرسال دفق الصوت النهائي إلى بطاقة الصوت.
- توفر ALSA برنامجًا لمزج الصوت يُسمى dmix، والذي طُوّر قبل PulseAudio. يتوفر هذا البرنامج في معظم توزيعات لينكس، وهو حلٌّ أبسط لمزج الصوت بتقنية PCM. لا يوفر dmix الميزات المتقدمة (مثل الجدولة الزمنية والصوت عبر الشبكة) التي يوفرها PulseAudio. مع ذلك، تُقدم ALSA، عند استخدامها مع بطاقات الصوت والبرامج المناسبة، زمن استجابة منخفضًا.
- كان نظام الصوت المفتوح (OSS) هو نظام الصوت الأصلي المستخدم في لينكس وأنظمة يونكس الأخرى، ولكن تم إيقاف دعمه بعد إصدار نواة لينكس 2.5. [ 39 ] استمرت شركة 4Front Technologies في تطويره بشكل احتكاري ، حيث أصدرت في يوليو 2007 شفرة المصدر لنظام OSS بموجب ترخيص CDDL-1.0 لنظام OpenSolaris ، وبموجب ترخيص GPL-2.0 فقط لنظام لينكس . [ 40 ] يوفر الإصدار الحديث، Open Sound System v4، إمكانية مزج الصوت وإعادة تشكيله وتغيير مستوى الصوت برمجيًا لكل تطبيق على حدة؛ وعلى عكس PulseAudio، تُنفذ هذه الميزات داخل النواة. يعتمد دعم PulseAudio في OpenIndiana وتوزيعات illumos الأخرى على تنفيذ نظام OSS المدمج في النواة (" Boomer" ).
انظر أيضاً
مراجع
- ↑ "أخبار قديمة" . freedesktop.org . مؤرشف من الأصل في 16 مايو 2012. تم الاطلاع عليه في 17 فبراير 2016 .
- ↑ "PulseAudio 17.0 · PulseAudio / pulseaudio · GitLab" . GitLab . تم الاطلاع عليه بتاريخ 13 يناير 2024 .
- ↑ "PulseAudio" ، ملخص التحليل ، Open Hub ، مؤرشف من الأصل في 13 يوليو 2023 ، تم استرجاعه في 6 أغسطس 2017
- 1 2 "الترخيص" ، PulseAudio git ، سطح مكتب مجاني ، مؤرشف من الأصل في 4 مارس 2014 ، تم استرجاعه في 16 يونيو 2011
- ↑ "تنسيقات الصوت المدعومة" . www.freedesktop.org . مؤرشف من الأصل في 1 أكتوبر 2021. تم الاطلاع عليه في 13 مايو 2023 .
- ↑ المشروع المعروف سابقًا باسم Polypaudio ، مؤرشف من الأصل في 7 يناير 2007 ، تم استرجاعه في 20 يوليو 2006
- ↑ "التغييرات/DefaultPipeWire - ويكي مشروع فيدورا" . fedoraproject.org . مؤرشف من الأصل في 22 نوفمبر 2020. تم الاطلاع عليه في 13 فبراير 2023 .
- ↑ سنيدون، جوي (22 مايو 2022). "أوبونتو 22.10 تجعل PipeWire البرنامج الافتراضي للصوت" . يا إلهي! أوبونتو! . مؤرشف من الأصل في 22 مايو 2022. تم الاطلاع عليه في 13 فبراير 2023 .
- ↑ "ديبيان 12 تُبدّل إلى PipeWire وWirePlumber افتراضيًا مع سطح مكتب جنوم" . www.phoronix.com . مؤرشف من الأصل في 1 أكتوبر 2022. تم الاطلاع عليه في 13 فبراير 2023 .
- ↑ PulseAudio على نظام التشغيل Windows ، مؤرشف من النسخة الأصلية في 1 مارس 2023 ، تم استرجاعه في 29 يوليو 2016
- 1 2 "حول" ، PulseAudio ، برنامج سطح مكتب مجاني، مؤرشف من الأصل في 25 مارس 2013 ، تم استرجاعه في 11 مارس 2013
- ↑ "ديبيان -- نتائج البحث عن الحزم -- libcanberra" . packages.debian.org . مؤرشف من الأصل بتاريخ 14 يوليو 2014. تم الاطلاع عليه بتاريخ 13 يوليو 2014 .
- ↑ "ديبيان -- نتائج البحث عن الحزم -- libasound" . packages.debian.org . مؤرشف من الأصل بتاريخ 14 يوليو 2014. تم الاطلاع عليه بتاريخ 13 يوليو 2014 .
- ↑ "ديبيان -- نتائج البحث عن الحزم -- libcanberra-pulse" . packages.debian.org . مؤرشف من الأصل في 4 نوفمبر 2009. تم الاطلاع عليه في 13 يوليو 2014 .
- ↑ بوترينغ، لينارت (8 فبراير 2007). "ملخص FOMS/LCA" . 0pointer.de . مؤرشف من الأصل في 6 يونيو 2007. تم الاطلاع عليه في 13 مارس 2017 .
- ↑ بوترينغ، لينارت، "مقابلات"، مشروع فيدورا ، ريد هات، مؤرشف من الأصل في 31 أغسطس 2009 ، تم استرجاعه في 3 يوليو 2009
- ↑ ويكي Pulse Audio ، PulseAudio، مؤرشف من الأصل في 31 أغسطس 2009 ، تم استرجاعه في 19 يوليو 2009
- ↑ "LPC: صوت لينكس: إنه فوضى [ LWN.net ] " . 18 سبتمبر 2008. مؤرشف من الأصل في 1 سبتمبر 2009. تم الاطلاع عليه في 11 يوليو 2019 .
- ↑ PulseAudio ، دبيان، مؤرشف من الأصل (ويكي) في 9 نوفمبر 2013 ، تم استرجاعه في 9 نوفمبر 2013
- ↑ "هوية المصادر المفتوحة: لينارت بوتيرينغ، مبتكر PulseAudio" ، TechWorld ، 8 أكتوبر 2009، مؤرشف من الأصل في 6 أبريل 2011 ، تم استرجاعه في 19 يونيو 2010
- ↑ بوترينغ، لينارت (25 سبتمبر 2004). "كتابة برنامج تشغيل PortAudio" . audio.portaudio.devel.git.net . مؤرشف من الأصل في 1 مارس 2017. تم الاطلاع عليه في 28 فبراير 2017 .
- ↑ بوترينغ، لينارت. "تم تفعيل PulseAudio افتراضيًا في عمليات تثبيت Fedora الجديدة" . قائمة بريد تطوير Fedora . ريد هات . تم الاطلاع عليه في 1 مارس 2017 .
- ↑ "الميزات: صوت خالٍ من التشويش" . ويكي مشروع فيدورا . مؤرشف من الأصل في 1 مارس 2017. تم الاطلاع عليه في 28 فبراير 2017 .
- ↑ بوتيرينغ، لينارت. "مشاكل آلسا" . PulseAudio - Trac . مؤرشف من الأصل في 16 أكتوبر 2008. تم الاطلاع عليه في 28 فبراير 2017 .
- ↑ LPC: صوت لينكس: إنه فوضى ، LWN، 18 سبتمبر 2008، مؤرشف من الأصل في 1 سبتمبر 2009 ، تم استرجاعه في 3 يوليو 2009
- ↑ لينارت بوتيرينغ (18 يوليو 2008)، PulseAudio FUD ، 0pointer.de، مؤرشف من الأصل في 2 سبتمبر 2009 ، تم استرجاعه في 30 ديسمبر 2009
- ↑ دليل الاستخدام: إصلاحات PulseAudio ودعم معادل الصوت على مستوى النظام ، منتديات أوبونتو، 10 مايو 2008، مؤرشف من الأصل في 1 مارس 2010 ، تم استرجاعه في 18 أكتوبر 2009
- ↑ سأحطم جهازك الصوتي ، مدونة لينارت بوتيرينغ، 19 أكتوبر 2009، مؤرشفة من الأصل في 22 أكتوبر 2009 ، تم استرجاعها في 26 ديسمبر 2009
- ↑ لا يوجد صوت بعد تشغيل فلاش، يوتيوب، إلخ. (حل باستخدام pulseaudio) ، منتديات أوبونتو، مؤرشف من الأصل في 29 فبراير 2012 ، تم استرجاعه في 18 أكتوبر 2009
- ↑ PulseAudio ، ويكي أوبونتو، مؤرشف من الأصل في 25 فبراير 2011 ، تم استرجاعه في 18 أكتوبر 2009
- ↑ "يؤدي التخزين المؤقت المفرط في PulseAudio إلى حدوث انقطاعات (تقطع مسموع، طقطقة)" . Launchpad . 10 فبراير 2008. تم الاطلاع عليه في 9 نوفمبر 2013 .
- ↑ "46466 - يحتاج PulseAudio إلى طريقة تُمكّن المستخدم من تحديد مستوى صوت أقصى غير قابل للتجاوز" . Bugzilla . تم الاطلاع عليه بتاريخ 6 أكتوبر 2021 .
- ↑ " [ تم الحل ] تعطيل PulseAudio - الصفحة 3" . أسئلة لينكس . مؤرشف من الأصل في 6 أكتوبر 2021. تم الاطلاع عليه في 6 أكتوبر 2021 .
- ↑ "الخطأ رقم 410948 'الصوت مرتفع جدًا' : أخطاء : حزمة pulseaudio" . أوبونتو . 9 أغسطس 2009. مؤرشف من الأصل في 6 أكتوبر 2021. تم الاطلاع عليه في 6 أكتوبر 2021 .
- ↑ "#837637 - غالبًا ما تتم إعادة ضبط إعدادات الصوت إلى مستوى الصوت 100%" . سجلات تقارير الأخطاء في دبيان . مؤرشف من الأصل في 6 أكتوبر 2021. تم الاطلاع عليه في 6 أكتوبر 2021 .
- ↑ انظر "الوحدات القابلة للتحميل". الوحدات ، Freedesktop.org، https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index9h2 ، تم الاطلاع عليه بتاريخ 28 أغسطس 2019
- ↑ "PipeWire" . pipewire.org . مؤرشف من الأصل بتاريخ 25 ديسمبر 2020. تم الاطلاع عليه بتاريخ 28 يونيو 2019 .
- ↑ "على طريق فيدورا ورك ستيشن 31 - كريستيان إف كيه شالر" . 24 يونيو 2019. مؤرشف من الأصل في 30 سبتمبر 2023. تم الاطلاع عليه في 28 يونيو 2019 .
- ↑ مقدمة لأنظمة الصوت وواجهات برمجة التطبيقات في لينكس ، Linux.com، 9 أغسطس 2004، مؤرشفة من الأصل في 19 أكتوبر 2014 ، تم الاطلاع عليها في 23 مارس 2013. يتوفر نظام OSS ليس فقط للينكس ،
بل أيضًا لأنظمة BSD وأنظمة يونكس الأخرى. قد تكون هذه ميزته الوحيدة، لأن هذا النظام ليس قويًا جدًا، وقد تم استبداله رسميًا بنظام ALSA في نواة 2.5.
- ↑ أصدرت شركة 4Front Technologies الشفرة المصدرية لنظام الصوت المفتوح المصدر ، بيان صحفي من لينكس، 14 يونيو 2007، مؤرشف من الأصل في 8 أكتوبر 2007 ، تم استرجاعه في 8 يناير 2012.
روابط خارجية
- برنامج 2004
- مكتبات الصوت
- برنامج صوتي لنظام التشغيل لينكس
- برامج صوتية مجانية
- برنامج مجاني مكتوب بلغة C
- واجهات برمجة تطبيقات لينكس
- كولابورا
- برنامج يستخدم رخصة جنو العمومية الصغرى
