عن المشروع

# Astra Astra هو مشغل موسيقى سطح مكتب مصمم للأشخاص الذين يحتفظون بمكتبة موسيقى محلية. يشغل صيغًا مثل FLAC وMP3 وWAV وOGG وAAC وM4A وOPUS وWMA وAIFF وALAC وAPE وWavPack أصليًا، مع FFmpeg كخيار احتياطي للصيغ الأخرى. يضمن التشغيل بدون فواصل مع التخزين المؤقت المسبق تدفق الألبومات بسلاسة. ## الميزات الرئيسية - **إخراج بت مثالي**: يتجاوز خلاط نظام التشغيل للتسليم المباشر إلى العتاد عبر WASAPI Exclusive على Windows، وCoreAudio HAL على macOS، وALSA hw على Linux. - **الصوت المكاني**: تشغيل أصلي لـ IAMF/Eclipsa Audio، وهو أول مشغل مكتبة موسيقى سطح مكتب عام يدعمه. يتضمن فك ترميز Dolby Atmos متعدد القنوات دون الحاجة إلى عتاد متوافق مع Atmos. يوفر فحصًا لكل قناة، وإعادة تعيين التخطيط، ومعايرة تأخير الإخراج، وغرفة مكبرات صوت افتراضية لتوزيع مكبرات الصوت ثلاثي الأبعاد مع عرض ثنائي الأذن مباشر. - **Parallax**: تشغيل متزامن متعدد الغرف عبر الأجهزة على شبكة محلية. يتحكم مضيف واحد في التشغيل؛ وينضم الآخرون كمكبرات صوت مع اقتران PIN وضبط التأخير لكل مكبر صوت. اختياري وتجريبي. - **المرئيات**: سبعة مرئيات فورية مدعومة بوحدة C++ أصلية، بما في ذلك مرسمة الذبذبات، ومحلل الطيف، ومرسمة المتجهات. رف نطاق قابل للتخصيص مع تخطيطات السحب وتغيير الحجم والإعدادات المسبقة. - **المعادل**: حتى 20 نطاقًا بارامتريًا بالكامل، ورسم بياني لاستجابة التردد المباشر مع تراكب الطيف، وإعدادات مسبقة مدمجة، واستيراد ملف تعريف معايرة سماعات الرأس AutoEQ. - **إدارة المكتبة**: استخراج البيانات الوصفية، وأغلفة الألبومات، وتصفح قابل للبحث حسب الفنان/الألبوم/المقطع، ودعم ID3v2.4 وVorbis Comments، وتحليل وسوم الفنانين المتعددين، وصور فنانين مخصصة، ومسح ملفات .lrc، والمفضلة، وتتبع المشغلات حديثًا، ومحرر بيانات وصفية مدمج. - **Astra Resolve**: يستخدم سياق المكتبة للتمييز بين اعتمادات الفنان الواحد والتعاونات، مع الحفاظ على روابط الفنانين دقيقة دون إعادة كتابة الملفات أو الاستعلام عن بيانات وصفية خارجية. - **إعدادات الصوت**: اختيار جهاز الإخراج، وتطبيع الجهارة ReplayGain، وإعادة تعيين تخطيط كل قناة، ومعايرة التأخير لمكبرات الصوت اللاسلكية/Bluetooth. - **الواجهة**: شريط بحث بالموجة، ووضع ملء الشاشة مع خلفية طيف محيطة، ومشغل مصغر، وكلمات متزامنة مع تمرير تلقائي (من الكلمات المدمجة، أو ملفات .lrc، أو LRCLIB)، ولوحة كلمات منبثقة. - **Scrobbling**: دعم مدمج لـ Last.fm وAudioScrobbler وListenBrainz، بالإضافة إلى ملفات تعريف scrobbler مخصصة وscrobble متعدد لخدمات متعددة. - **التكاملات**: Discord Rich Presence اختياري ودعم خوادم وسائط مستضافة ذاتيًا (Jellyfin، وخوادم متوافقة مع Subsonic مثل Navidrome وAirsonic وGonic وFunkwhale). - **Astra API**: واجهة برمجة تطبيقات مرافقة اختيارية مع مصادقة bearer للأدوات الخارجية لمراقبة/التحكم في التشغيل، والبحث، وإدارة قوائم الانتظار، والمفضلة. تدعم عقود /v1 و/v2. - **الميزات التجريبية**: وحدة تحكم هاتف PWA، وماسح سلامة المكتبة، وتصور بياني، ورفع محيطي من ستيريو إلى متعدد القنوات، ومؤشر نشاط شبكي 5×5، ودعم وحدات التحكم (Xbox/PlayStation). ## التنزيل والتثبيت تتوفر ملفات ثنائية مبنية مسبقًا لـ Windows وmacOS وLinux على صفحة الإصدارات. متوفر أيضًا عبر AUR (`astra-music-bin`) وWindows `winget install Boof2015.Astra`. تشمل الحزم التي يصونها المجتمع مصدر AUR وTerraPKG لـ Fedora/RPM. ## البناء من المصدر يتطلب Node.js 18+ وnpm وسلسلة أدوات مترجم C++. استنسخ المستودع، وشغّل `npm install` (الذي يترجم وحدة المرئيات الأصلية)، ثم استخدم `npm run dev` أو `npm run build` أو `npm run dist` للتغليف. ## التوثيق والدعم توجد وثائق تقنية مفصلة في Wiki. المشروع مرخص بموجب GPL v3.0 ويدعم التطوير عبر Ko-fi.