LUMIX – یک منبع باز .NET Ableton مانند DAW

از دسامبر سال 2024 من روی یک ایستگاه کاری صوتی دیجیتال منبع باز (DAW) به شدت الهام گرفته از معروف Ableton Live Daw هستم.
چرا؟
واقعاً پاسخ به این دلیل وجود ندارد که چرا من این پروژه را شروع کردم.
من در آن زمان در Ableton و سایر DAW ها بسیار بازی می کردم و احساس می کردم این یک برنامه جانبی سرگرم کننده برای شیرجه رفتن است (و همچنین چنین کار یادبودی).
داو
این پروژه در C# در اطراف اکوسیستم .NET ساخته شده است ، یک انتخاب غیرمعمول وقتی بیشتر DAW ها و نرم افزارهای صوتی در آنجا در C ++ ساخته شده اند تا حداکثر اجراها را بدست آورند.
در سه ماه گذشته من از چندین کتابخانه منبع باز استفاده کرده ام تا این پروژه را به وضعیت فعلی برسانم. در حال حاضر واقعاً استفاده واقعی با آن وجود ندارد زیرا DAW هنوز یک کار در حال انجام است ، اما می تواند برخی از عملیات DAW را انجام دهد.
در اینجا یک مرور کلی از پشته Tech Project آورده شده است:
1
رابط کاربری کاملاً با استفاده از کتابخانه Mode GUI GUI عزیز-Imgui ، با بسته بندی IMGUI.NET ساخته شده است.
این امر امکان تجربه سریع و نفخ را فراهم می کند ، اما در عین حال ، سفارشی سازی سخت تر برای یک کار با این اندازه ، زیرا این کتابخانه واقعاً برای توسعه برنامه های کاربردی نهایی مناسب نیست. از طرف دیگر ، این همان چیزی است که من برای کار با آن بیشتر آشنا هستم.
2. صوتی
برای استفاده از صدا ، از آنجا که کار با .NET در صورت عدم استفاده از کتابخانه Naudio ، انتخابی وجود نداشت. این کار تا کنون بسیار خوب کار می کند ، با پشتیبانی ASIO برای به دست آوردن تأخیر کم (باید در دنیای صوتی وجود داشته باشد) و بسیاری از ویژگی های مفید برای کار با نمونه های صوتی.
3. MIDI
در حالی که Naudio شامل خود پشتیبانی MIDI است ، به عنوان کتابخانه DrywetMidi احساس توسعه نمی یابد ، بنابراین تصمیم گرفتم با Drywetmidi برای استفاده از داده های MIDI بچسبم. علاوه بر ایجاد ترکیبات MIDI با استفاده از رول پیانو DAW ، این امکان را برای خواندن و پخش پرونده های MIDI فراهم کرد.
پلاگین ها
پشتیبانی از افزونه های VST به لطف کتابخانه VST.NET امکان پذیر است ، که امکان بارگیری و پردازش نمونه های صوتی را از طریق افزونه های VST2 فراهم می کند. DAW همچنین از ایجاد افزونه های ساخته شده در ساخته شده (مانند افزونه های “ابزار” و “SimpleEQ” که قبلاً گنجانده شده اند) پشتیبانی می کند ، با استفاده از IMGUI برای ارائه UI ، دقیقاً مانند Ableton افزونه های خاص خود را دارد.
رمز منبع
کد منبع را می توان در https://github.com/imaxel0/lumix تقسیم شده در شاخه های اصلی و توسعه یافت (این آخرین مورد حاوی آخرین تعهدات) است و توسط هر کسی که NET6 SDK را نصب کرده است می تواند در ویندوز ساخته شود.
همچنین یک لیست پخش YouTube با برخی از توسعه ها و ویترین ها از Genuary وجود دارد.
لطفاً توجه داشته باشید که من در حال حاضر هیچ مشارکت در این پروژه را برای این زمان قبول نمی کنم زیرا بسیاری از پایه های کد نیاز به تغییر دارند.
این در حال حاضر است.
در پست های آینده قصد دارم در مورد جنبه های مختلف DAW بنویسم ، به جزئیات فنی تر مانند اجرای افزونه ها و آنچه احتمالاً نیاز به تغییر ، آنچه کار می کند و چه چیزی نیست.
با تشکر از شما برای وقت خواندن این پست.
خداحافظ ، الکس.