این پخشکننده متنباز و بدون تبلیغات، مخصوص علاقهمندان به موسیقی با کیفیت بالا طراحی شده و از فرمتهایی مانند FLAC، WAV، OPUS، M4A و حتی Dolby Atmos پشتیبانی میکند. نسخه بتا ۰.۶.۰ با بازنویسی ماژول CoreAudio، پشتیبانی از چند هنرمند، scrobbling همزمان به چند سرویس و کنترل از طریق موبایل منتشر شد.
🎵 آسترا (Astra) چیست؟
Astra یک پخشکننده موسیقی علاقهمندان به صدا (Audiophile) است که برای کتابخانههای موسیقی محلی طراحی شده و از فرمتهای MP3، FLAC، WAV، AAC، OGG، M4A، OPUS، WMA، AIFF و موارد بیشتر از طریق FFmpeg پشتیبانی میکند. این نرمافزار دارای پخش بدون وقفه (Gapless Playback) با پیشبافرینگ، بازنویسی کانالهای چندگانه (Multichannel Audio Remapping) و رمزگشایی Dolby Atmos است و اطمینان میدهد که آلبومها به صورت یکپارچه و با صدای باوفای بالا پخش شوند.

✨ ویژگیهای کلیدی آسترا
📊 تجسمکنندههای DSP بیدرنگ
آسترا دارای تجسمکنندههای بیدرنگ (Real-time DSP Visualizers) است که توسط یک موتور C++ بومی تغذیه میشوند، از جمله:
🎛️ اکولایزر ۱۰ باند پارامتریک
-
اکولایزر کاملاً پارامتریک ۱۰ باند با پاسخ فرکانسی زنده
-
پریستهای داخلی (Built-in Presets)
-
وارد کردن کالیبراسیون هدفون AutoEQ برای شکلدهی دقیق صدا
🎮 کنترل پخش
📚 مدیریت کتابخانه
-
استخراج خودکار متادیتا و جلد آلبوم
-
جستجوی جهانی (Global Search)
-
موارد دلخواه (Favorites) و ردیابی اخیراً پخششده
🔧 امکانات اضافی
-
انتخاب دستگاه خروجی (Output Device Selection)
-
کالیبراسیون تأخیر (Delay Calibration)
-
تمهای قابل تنظیم (Customizable Themes)
-
حالت تمامصفحه و مینی پلیر
-
Discord Rich Presence
-
API محلی اختیاری (Opt-in Local API) برای یکپارچهسازیها
آسترا یک تجربه صوتی دسکتاپ کامل و با کیفیت بالا ارائه میدهد. بدون تلهمتری، بدون حساب کاربری، بدون استریمینگ.
📋 لاگ تغییرات نسخه Astra 0.6.0 Beta
🎛️ موتور صوتی (Audio Engine)
-
بازنویسی کامل ماژول بومی CoreAudio با پچهای WASAPI و ALSA (#104)
-
بهبود قابل توجه پشتیبانی از صوتی چند کاناله و downmixing
-
آمبیآپمیکس تجربی (Experimental Ambient Upmix) برای آهنگهای استریو در تنظیمات چند کاناله
-
افزودن حالت نوار (Bar Mode) به تجسمکننده طیف
-
افزودن باندهای فیلتر بالاگذر و پایینگذر به اکولایزر
-
بهبود منطق عادیسازی داخلی (Normalization)
-
رفع مشکل تکرار PCM بیتپرفکت در هنگام انتقال آهنگ
-
انتقال رفع چشمکزدن اسیلوسکوپ و وضعیت مکث مناسب از Prism
📚 متادیتا و کتابخانه (Metadata & Library)
-
بازنویسی کامل مدیریت چند هنرمند (Multi-artist Metadata Handling) (#86)
-
افزودن پشتیبانی از Vorbis Comments و برچسبهای ID3v2.4
-
پشتیبانی از تصاویر هنرمند محلی و سفارشی (#43)
-
تنظیمات سراسری برای تجزیه نام هنرمند (#67)
-
کلید Singles؛ اسکن فایلهای LRC بر اساس نام فایل (#66)
-
شمارندههای طول در پلیلیستها و آلبومها
-
آیکون جدید برای آهنگها/آلبومهای اضافهشده در آخرین همگامسازی کتابخانه (#60)
-
دکمههای اسکن برای تغییرات و اسکن اجباری (#62)
-
بهبود منطق وارد کردن پلیلیست با رابط کاربری بهتر برای آهنگهای گمشده (#100)
-
رفع باگ آبگیری متادیتا (#112)
-
رفع باگ تجزیه فایلهای .m3u
📡 اسکرابلینگ (Scrobbling)
-
پشتیبانی از APIهای AudioScrobbler و ListenBrainz (#46)
-
پشتیبانی از Multi-scrobbling — ارسال همزمان به چندین سرویس
-
سیستم پروفایل اسکرابلر سفارشی
📝 متن ترانه (Lyrics)
-
بهبود منطق پنل متن ترانه و فرض شکاف (Gap Assumption)
-
پنل متن ترانه قابل پاپآوت (Pop-out Lyrics Panel) (#47)
-
رفع باگ مصرف CPU در پنل متن ترانه
-
محدود کردن کش رندرر متن ترانه برای جلوگیری از رشد حافظه
🖥️ رابط کاربری و تجسم (UI & Visualization)
-
افزودن اسلایدر مقیاسبندی UI به تنظیمات
-
افزودن کنترل صدا به حالت تمامصفحه (#85)
-
رفع اشکالات و بهبودهای حالت تمامصفحه
-
افزودن مودال کشیدن صف به ایجاد پلیلیست (#65)
-
هدفهای رها کردن واضحتر و منوی راستکلیک گسترشیافته (#65)
-
رفع مشکل کنتراست در مینی پلیر؛ نمایش نسخه کامیت در نوار عنوان (#47)
-
قابلیت جایگزینی پیام صفحه اصلی با ساعت یا مخفی کردن آن
-
بهبود UI/UX تنظیمات
-
رفع ماندگاری تب پوشه، شمارنده FPS، انتخاب متن در مینی پلیر (#57)
-
رفع اسکرول در نمای لیست کاملاً ردیابیشده (#89)
💬 Discord RPC
-
بهبود تطبیق جلد آلبوم
-
بهبود ساختار RPC سمت کلاینت
-
گزینههای سفارشیسازی بیشتر برای حضور غنی (Rich Presence)
-
رفع وضعیت رقابتی (Race Condition) در رد شدن سریع و تأخیرهای بهروزرسانی قدیمی
🧠 حافظه و عملکرد (Memory & Performance)
-
بارگذاری صفحهبندیشده (Paged Loading) برای کتابخانههای بزرگ
-
مهاجرت پایگاه داده برای کاهش قابل توجه ردپای حافظه
-
بازسازی حفظ کتابخانه رندرر — توقف نگهداری دادههای نامربوط
-
جایگزینی فراخوانیهای بومی better-sqlite3 به جای پرس و جوهای سمت JS
-
کاهش فشار JS heap
-
پاکسازی حافظه در زمان عدم نمایش آنالایزر
-
گزارش بهتر حافظه به صورت زنده
-
بهبود عملکرد رندر گرید و انیمیشنهای روانتر پخش
-
بهبود زمانبندی پیشبافر (Prebuffer Scheduling)
📦 توزیع و CI
-
افزودن بستههای RPM و Tarball به ساختهای لینوکس (#69, PR #70)
-
فعال کردن انتشار خودکار WinGet
-
بهروزرسانی CI builder و بررسیها
-
بهروزرسانی بستهها؛ بهروزرسانی داربست Homebrew cask
-
افزودن نشان نسخه WinGet به README
🧪 ویژگیهای تجربی (Experimental Features)
بخش جدیدی برای ویژگیهای تجربی اختیاری که ممکن است بر اساس بازخورد تغییر یا حذف شوند:
-
کنترلکننده تلفن PWA برای کنترل پخش از راه دور (#64)، با کنترلهای رسانه سیستم و دستگاه جفتسازی QR Code
-
اسکنر سلامت/کیفیت کتابخانه
-
نشانگر فعالیت شبکه ۵×۵
-
تجسم گراف (Graph Visualization) (PR #61)
-
آمبیآپمیکس برای استریو به چند کاناله