معمارية صوت لينكس المتقدمة
معمارية صوت لينكس المتقدمة (بالإنجلزية : "Advanced Linux Sound Architecture" ) ويتم اختصارها ( ألسا - "ALSA" )،هو إطار عمل وجزء من نواة لينكس لتوفر واجهة برمجة التطبيقات (API) لبرامج تشغيل بطاقة الصوت.بعض أهداف مشروع ألسا في بدايته هو تكوين وتعريف تلقائي لأجهزة الصوت و للبطاقة المتعددة و توفيرها للنظام ، يتم تعديل إطار ألسا تحت رخصة جنو العمومية (GPL) و رخصة جنو العمومية الصغرى (LGPL) ، بعض الأطر مثل جاك تستخدام ألسا لتحرير و مزج الصوت بمستوى إحترافي و منخفض في إستهلاك مورد النظام.
وقد تم تصميم ألسا مع بعض الميزات التي لم تكن متاحة و مفهومة في وقت نظام الصوت المفتوح ( OSS) :
إطار ألسا لديه API أكبر حجما وأكثر تعقيدا من OSS ، لذلك يمكن أن يكون أكثر صعوبة لتطوير تطبيقات للمستخدم .كما يمكنه توفير طبقة تحاكي OSS ، ويستعمل هذا المحاكي للوظائف التي لم تعد متوفرة في العديد من توزيعات لينكس الجديدة.
بالإضافة إلى أدوات تشغيل الأجهزة والصوت ، حزم إطار ألسا يوفر للمستخدمين و لمطوري التطبيقات ميزات عند استعماله من خلال الواجهات في مستوى مساحة المستخدم للتفاعل المباشر مع تعاريف نواة ؛ على عكس API النواة، التي توفر كل قدرات الجهاز مباشرتا ، يعرض إطار ALSA في مساحة المستخدم فكرة مجردة و موحدا "قدر الإمكان" عبر عناصر ضبط الأجهزة الأساسية . ويتم تحقيق هذا الهدف جزئيا باستخدام برمجيات المكونات الإضافية. على سبيل المثال، العديد من بطاقات الصوت الحديثة أو المدمج في رقائق الصوت ، لا توفر لك المقدرة على ضبط " الصوت الرئيسي " ؛ توفر مكتبة ألسا في مساحة المستخدم التحكم في مستوى الصوت باستخدام برنامج " softvol " المتوفر في المكونات، وبهذه الطريقة لا يهتم المطور ما إذا كان التحكم ينفذه عتاد الأجهزة أو البرمجيات المصاحبة للبطاقة.
عادة ، ALSA يدعم ما يصل إلى ثماني بطاقات ، مرقمة من 0 إلى 7 ؛ كل بطاقة هو جهاز فيزيائي أو محاكي قادرة على المدخلات والمخرجات ، أو السيطرة على الصوت، ويستخدم بطاقة الرقم 0 بشكل افتراضي عند عدم وجود بطاقة محددة . علاوة على ذلك، كل بطاقة يمكن أيضا أن تعالج من قبل المعرف الخاص بها ، والذي هو عبارة عن سلسلة تفسيرية مثل "سماعات الرأس " أو " ICH9 " .
البطاقة لديها أجهزة ، مرقمة ابتداء من 0 ؛ قد يكون جهاز من نوع القراءة، وهذا يعني أنه إخراج الصوت من الكمبيوتر ، أو بعض الأنواع الأخرى مثل الالتقاط ، ومراقبة ، وتوقيت، أو المنظم ، ويستخدم الجهاز رقم 0 بشكل افتراضي عند تحديد أي جهاز معين .
قد يحتوي الجهاز على subdevices ، مرقمة ابتداء من 0 ؛ يمثل subdevice بعض النقاط الفرعية أو صلة للجهاز ، مثل سماعات الحاسوب . إذا لم يتم تحديد subdevice ، أو إذا تم تحديد عدد subdevice -1 ، سيتم استخدام أي subdevice متاح.
واجهة بطاقة هو وصف ل بروتوكول ALSA للوصول إلى البطاقة ، وتشمل الواجهات الممكنة : hw, plughw, default, and plug:dmix. توفر واجهة hw الوصول المباشر إلى الجهاز عبر النواة، ولكن يستلزم هذا عدم تفعيل برامج الخلط أو استعمال الجهاز من طرف رابط آخر . مثلا plughw تمكينه يكون إفتراضيا لإخراج الصوت واجهة hw من شأنها أن تنتج خطأ عند تشغيلها في هذه الحالة.
يتم وصف عملية لإخراج الصوت عادتا من خلال جمع المواصفات المذكورة أعلاه معا في سلسلة اوامر للجهاز ، وتكون واحد من الأشكال التالية (الترتيب و الكتابة مهم جدا من اليسار إلى اليمين ) :
تيار ALSA- ألسا هو تدفق البيانات التي تتمثل في الصوت ، و شكل التيار الأكثر شيوعا هو PCM فيجب أن يتم إعداده بهذه الطريقة ليتناسب مع الخصائص أو مواصفات الأجهزة :
أيضا ألسا يحتاج إلى ضبط مساحة المخزن المؤقت الذي تستعمله وحدة المعالجة المركزية لتوفير بيانات سليمة.
إطار ألسا يوفر طبقة في (ASOC) بهدف دعم أفضل للإطار على الأنظمة المدمجة التي تستخدم تصاميم منظومة على رقاقة (SoC).
تم تطوير مشروع ألسا بواسطة Jaroslav Kysela، وكان يقوم بتشغيل بطاقة الموجات الفوق صوتية من نوع غرافيز على نظام لينكس . بدأ المشروع في عام 1998 و تم تطوير منفصلا عن نواة لينكس حتى تم عرضه في سلسلة الإصدارات التجريبية في النواة 2.5 سنة 2002 وعلى امتداد (2.5.4-2.5.5).
في الإصدار 2.6، حلت محل النظام السابق، نظام الصوت المفتوحة (OSS)، و بشكل إفتراضي (على الرغم من عدم تواجد طبقة توافقية مع OSS القديم لكن تم إضافته لاحقا).