تصور کنید برای استخراج صدای خواننده یا خط بیس یک آهنگ، دیگر نیازی نباشد هیچ فایلی را به سرورهای یک شرکت خارجی بفرستید. این رویای هر تهیهکننده موسیقی اکنون با StemDeck محقق شده است؛ ابزاری که در ۲۹ اوت ۲۰۲۶ منتشر شد تا جایگزینی کاملاً محلی و متنباز برای سرویسهای اشتراکی جداسازی صدا باشد.
سالهاست که استاندارد صنعت برای «جداسازی سازهها» (Stem Splitting) — یعنی فرآیند خرد کردن یک آهنگ میکسشده به ترکهای مجزای هر ساز — در دست سرویسهای ابری مثل Moises و LALAL.AI است. این ابزارها معمولاً هزینههای ماهانه دارند، نیاز به ثبتنام حساب کاربری دارند و کاربر را مجبور میکنند فایلهای صوتی دارای کپیرایت را به سرورهای شخص ثالث بفرستد. StemDeck بهعنوان یک جنبش متقابل، با بهرهگیری از GPU یا CPU خود کاربر، دسترسی رایگان و حریم خصوصی مطلق را اولویت قرار داده است.
همانطور که در تحلیلهای پیشین ما دربارهی رایانش لبه (Edge Computing) اشاره کردیم، انتقال پردازش از ابر به دستگاه کاربر، نقطه عطف جدیدی در ابزارهای خلاقانه است. این رویکرد با تلاشهای اخیر برای ایجاد حافظه محلی در سیستمعاملها همسو است، مشابه آنچه در پروژه Ambient Context برای macOS برای مدیریت دادههای هوش مصنوعی بهصورت محلی دیدیم.
سازوکار اصلی
این نرمافزار بر پایه Demucs (بهویژه مدل htdemucs_6s) بنا شده است؛ یک شبکه عصبی (Neural Network) — شبیه نقشهٔ مترو که سیگنال را از ورودی به جواب میرساند — که توسط Meta AI توسعه یافته است. طبق مستندات گیتهاب این پروژه، این مدل اجازه میدهد صدا به ۶ سازه مجزا تقسیم شود: وکال (Vocals)، درامز (Drums)، بیس (Bass)، گیتار (Guitar)، پیانو (Piano) و «سایر» (Other).

این سامانه برای بیشترین سازگاری سختافزاری طراحی شده است. طبق اعلام توسعهدهندگان، نرمافزار بهطور خودکار بهترین پردازشگر موجود را شناسایی میکند؛ در این مسیر، ابتدا اولویت با NVIDIA CUDA برای شتابدهی گرافیکی یا MPS (Metal Performance Shaders) در تراشههای اپل سیلیکون است و در نهایت برای ماشینهای قدیمیتر، روی CPU اجرا میشود.
انعطاف در ورودی و وارد کردن فایل
این ابزار برای پردازش فایلهایی طراحی شده که کاربر مالک آنهاست. کاربران میتوانند فایلهای محلی را مستقیماً روی نوار وارد کردن (Import Bar) بکشند و رها کنند (Drag and Drop). فرمتهای پشتیبانی شده شامل MP3، WAV، FLAC، OGG/Opus، MP4 و M4A است.
همچنین برای راحتی بیشتر، StemDeck از طریق yt-dlp امکان پشتیبانی از یوتیوب را فراهم کرده است. کاربران میتوانند یک URL را برای پردازش محتوایی که حق استفاده از آن را دارند، وارد کنند. نکته حیاتی این است که StemDeck هیچ محتوایی را ذخیره، کش یا بازنشر نمیکند و تمام عملیات بهصورت محلی روی ماشین کاربر رخ میدهد.
ویژگیهای گردشکار حرفهای
این پلتفرم فراتر از یک مبدل ساده است و مانند یک محیط سبک DAW (ایستگاه کاری صوتی دیجیتال) عمل میکند:
- میکسر چندترکه: کاربر میتواند هر سازه را بهطور مستقل بیصدا (Mute) یا تکصدا (Solo) کند و سطح صدا را تنظیم نماید. این بخش شامل یک میکسر برای هر سازه با فیدرهای ولوم، دکمههای Mute/Solo و یک حالت «مانیتور» (فقط Solo) است. فیدرهای ولوم از کشیدن ۱:۱، دوبار کلیک برای بازگشت به ۰ دسیبل و ترکیب Shift+چرخ موس برای تنظیمات سریع پشتیبانی میکنند. دکمههای نوار ابزار Reset، Mute و Solo میتوانند بهطور همزمان روی تمام سازهها اثر بگذارند.
- ویرایشگر شکلموج: رابط کاربری از زوم (ورودی/خروجی/Fit)، حلقهسازی (Looping) مناطق از طریق خطکش و یک نشانگر پخش «طلایی» برای ناوبری دقیق پشتیبانی میکند. شکلموجها روی
<canvas>با استفاده از رندرینگ نمونههای min/max در تمام سازهها نمایش داده میشوند. میانبرهای کیبورد شامل Space برای پخش/توقف، [ و ] برای جابجایی ۵ ثانیهای، L برای حلقه و I/O برای تعیین نقاط شروع و پایان حلقه است. - استخراج زیرمجموعه: میتوانید با کلیک روی چیپهای سازه، موارد خاصی را برای نگه داشتن انتخاب کنید. کلیک روی حالت «همه انتخاب شده» باعث میشود فقط همان یک سازه انتخاب شود و کلیکهای بعدی سازهها را اضافه یا حذف میکنند. اگر زیرمجموعهای را برگزینید، نرمافزار بهطور خودکار یک لایه هفتم به نام «Original» میسازد که شامل باقیمانده آهنگ (کل آهنگ منهای انتخاب شما) است تا بتوانید بدون دوبرابر کردن حجم صدا، نتیجه را برای ارجاع A/B مقایسه کنید.
- تحلیل صوتی: این ابزار با استفاده از librosa برای تشخیص BPM (ردیاب ضربآهنگ) و تشخیص گام/مقیاس (با استفاده از پروفایلهای Albrecht-Shanahan)، و pyloudnorm برای اندازهگیری بلندی صدا (استاندارد LUFS طبق ITU-R BS.1770) عمل میکند. همچنین اندازهگیریهای پیک نمونه در dBFS و سطوح اطمینان (Confidence levels) برای تحلیلها ارائه میدهد.
- بازخورد بصری: میکسر دارای VU مترهای زنده برای هر سازه است که از تحلیلگرهای Web Audio با قابلیت نگه داشتن پیک (Peak Hold) و افت آرام (Slow Falloff) استفاده میکنند.
- گزینههای خروجی: کاربران میتوانند یک فایل واحد
mix.wavاز سازههای منتخب خود دریافت کنند که از طریقffmpeg amixبا هم ترکیب شدهاند.
معماری فنی
این نرمافزار ترکیبی از زبانهای مدرن با کارایی بالاست. پوسته دسکتاپ برای مک و ویندوز با Tauri v2 ساخته شده که زبان Rust را با WebViewهای بومی (WKWebView در مک و WebView2 در ویندوز) ترکیب میکند. بخش بکاند روی Python 3.12 اجرا میشود که توسط uv مدیریت میگردد و یک سرور FastAPI خط لوله پردازش را از طریق REST و رویدادهای ارسالی سرور (SSE) مدیریت میکند.
برای کسانی که کانتینرسازی را ترجیح میدهند، StemDeck از طریق Docker در دسترس است و در Unraid Community Applications ادغام شده است. در Unraid، کاربران حجمهای مربوط به /app/jobs (برای کتابخانه و سازهها) و /cache (برای وزنهای مدل) را مپ میکنند. این سیستم از yt-dlp برای دریافت صدای یوتیوب و FFmpeg برای ترنسکدینگ و میکس خروجی نهایی استفاده میکند. همچنین قابلیت اختیاری جداسازی وکال اصلی از بکوکال، از مدل UVR-MDX-NET Karaoke 2 از طریق audio-separator (پروژهای از جامعه Ultimate Vocal Remover توسط Anjok07) بهره میبرد.
نصب و راهاندازی
نصب این ابزار بهگونهای است که به هیچ پیشنیاز سیستمی نیاز ندارد.
در مک، کاربران میتوانند بین نسخه ARM64 DMG برای اپل سیلیکون (MPS) یا x64 DMG برای اینتل (فقط CPU) انتخاب کنند. در اولین اجرا، اپلیکیشن محیط پایتون (حدود ۵۰۰ مگابایت)، FFmpeg و مدل Demucs (حدود ۱۷۰ مگابایت) را دانلود میکند. کاربران مک ممکن است نیاز داشته باشند برای دور زدن هشدار Gatekeeper، روی اپلیکیشن راستکلیک کرده و گزینه «Open» را انتخاب کنند.
در ویندوز، نسخههای Zip استاندارد x64 (حدود ۷۰۰ مگابایت) برای پردازش CPU و نسخههای مخصوص NVIDIA (حدود ۱.۶ گیگابایت) برای شتابدهی CUDA ارائه شده است. تمام دادهها، از جمله مدل Demucs و لاگها، در پوشه data/ کنار فایل اجرایی قرار میگیرند که باعث میشود نصب برنامه بهصورت پرتابل (Portable) باشد. دادههای مربوط به Job و کتابخانه بهطور پیشفرض در ~/Documents/StemDeck ذخیره میشوند، هرچند این مسیر از طریق تنظیمات قابل تغییر است.
مقایسه محلی در برابر ابری: موازنه کیفیت و حریم خصوصی
توسعهدهندگان صادقانه اعلام کردهاند که StemDeck ادعای برتری در تمام معیارها نسبت به محصولات تجاری را ندارد. در حالی که Moises و LALAL.AI ممکن است صیقلخوردهتر باشند، اپلیکیشنهای موبایل داشته باشند و مدلهای اختصاصی با کیفیت کمی بالاتر (و تا ۱۰ سازه) ارائه دهند، اما این خدمات «شرایط خاص» خود را دارند.
| ویژگی | StemDeck | Moises / LALAL.AI |
|---|---|---|
| قیمت | رایگان، همیشگی | مدل فریمیوم / اشتراکی |
| میزبانی | دستگاه محلی | سرورهای ابری |
| حساب کاربری | نیاز نیست | الزامی است |
| حریم خصوصی | فقط محلی | آپلود در سرور شخص ثالث |
| اینترنت | فقط برای دانلود اولیه | همیشه الزامی است |
| منبع | متنباز | کد بسته (Closed Source) |
| سرعت پردازش | وابسته به سختافزار | سریع (سمت سرور) |
| پردازش دستهای | یک مورد در هر بار | بله (در طرحهای پولی) |
ارزش پیشنهادی StemDeck ساده است: بدون حساب کاربری، بدون سهمیه (Quota) و بدون اشتراک. تنها نیاز به اینترنت، دانلود اولیه مدل Demucs (حدود ۱۷۰ مگابایت) و محیط پایتون (حدود ۵۰۰ مگابایت) در اولین اجرا است. پس از آن، تمام خط لوله — از وارد کردن تا خروجی — بهصورت آفلاین اتفاق میافتد.
تحلیل: حرکت به سمت حاکمیت صوتی
این انتشار نشاندهنده ترند بزرگتری در هوش مصنوعی است: مهاجرت ابزارهای خلاقانه تخصصی از ابر به لبه. با قرار دادن یک مدل پیچیده Meta AI در یک رابط کاربری ساده Tauri، StemDeck مانع ورود به دنیای AI محلی را از بین برده است.
برای یک تهیهکننده یا علاقهمند، این یعنی «هزینه تجربه» به صفر میرسد. دیگر نیازی نیست نگران محدودیت اعتبار (Credit) در هنگام تلاش برای ترنسکریب یک آهنگ دشوار یا ایجاد یک ریمیکس باشید. مهمتر از آن، این ابزار از حریم خصوصی ترکهای منتشرنشده محافظت میکند؛ موضوعی که برای هنرمندان حرفهای که نمیتوانند ریسک آپلود سازهها در دیتابیس یک ارائهدهنده ابری را بپذیرند، حیاتی است.
بستر توسعهدهندگان و کاربران حرفهای
کسانی که میخواهند برنامه را از سورس بسازند، به Rust، Node.js و Python 3.12 نیاز دارند. فرآیند ساخت شامل ایجاد یک بسته Runtime و App Bundle از طریق اسکریپتهای خاص برای معماریهای ARM64 یا x64 است.
توسعهدهندگان میتوانند از طریق API جامع با سیستم تعامل کنند. نقاط انتهایی (Endpoints) کلیدی شامل POST /api/jobs برای شروع جداسازی، GET /api/jobs/{id}/events برای دریافت استریم وضعیت لحظهای (SSE) و POST /api/jobs/{id}/cancel برای متوقف کردن فوری زیرپردازشهای فعال و حذف دایرکتوریهای ناقص است. سیستم همچنین از متغیر STEMDECK_MAX_DURATION_SEC (پیشفرض ۱۲۰۰ ثانیه) برای رد کردن فایلهای صوتی بیش از حد طولانی و STEMDECK_JOB_TTL_SECONDS (پیشفرض ۸۶۴۰۰ ثانیه) برای پاکسازی خودکار دایرکتوریهای قدیمی پس از ۲۴ ساعت پشتیبانی میکند.
پیکربندی پیشرفته و محیط
کاربران حرفهای میتوانند اپلیکیشن را با استفاده از متغیرهای محیطی خاص تنظیم کنند. برای مثال، STEMDECK_DEMUCS_DEVICE میتواند برای اجبار دستگاه Torch به cuda، mps یا cpu بهجای شناسایی خودکار استفاده شود. متغیر STEMDECK_DATA_DIR اجازه میدهد با قرار دادن تمام زیرپوشهها در یک پوشه ریشه واحد، حالت کاملاً پرتابل ایجاد شود.
تایماوتهای حیاتی دیگری نیز برای جلوگیری از هنگ کردن سیستم قابل تنظیم هستند: STEMDECK_TIMEOUT_FFMPEG روی ۳۰۰ ثانیه، STEMDECK_TIMEOUT_ANALYZE روی ۱۲۰ ثانیه و STEMDECK_TIMEOUT_DEMUCS_STALL روی ۱۸۰۰ ثانیه تنظیم شده است که اگر تا ۳۰ دقیقه هیچ خروجی شناسایی نشود، پردازش را متوقف میکند.
اکوسیستم و جامعه
StemDeck در کنار اکوسیستم گستردهتری از ابزارهای مستقل موسیقی قرار دارد. توسعهدهندگان چندین منبع غیرتجاری و بوتیک را برای کسانی که به دنبال رویکرد خام، آنالوگ یا محلی در موسیقی هستند توصیه میکنند. اینها شامل موارد زیر است:
- تجهیزات و سازهای آنالوگ: Analog4Lyfe (تجهیزات تمام آنالوگ)، Dlima Guitars (ساختهای سفارشی) و Lisbon Guitar Works (گیتارهای دستساز).
- ابزارهای صوتی محلی: Beltr (تبدیل محلی کارائوکه) و Seratone (استیجهای کارائوکه در سطح استودیویی).
- سرویسهای حرفهای: Kris Luthier (مرمت ساز در لیسبون) و Joao Gaspar (تهیهکننده و آهنگساز فیلم).
- تجهیزات و جامعه: Empress Effects (پدالهای بوتیک)، Thomann (خردهفروشی تجهیزات در اروپا) و جامعه r/bass در ردیت.
- محتوا و فلسفه: More Notes Less Talk (ضبطهای خام نوار مغناطیسی) و slashCAM (تکنولوژی ویدیو آلمان).
استقرار و زیرساخت
برای استقرار در سمت سرور، پیادهسازی Docker یک مسیر قدرتمند فراهم میکند. ایمیج برنامه در GHCR با تگهای edge (غلتان)، latest (پایدار) و شمارههای نسخه خاص منتشر میشود. در میزبانهای لینوکسی با GPU انویدیا، افزودن --runtime=nvidia و -e NVIDIA_VISIBLE_DEVICES=all اجازه میدهد کانتینر بهطور خودکار CUDA را شناسایی کند، زیرا ایمیج از قبل شامل بیلد torch فعالشده با CUDA است.
در دیسک، اپلیکیشن یک سلسلهمراتب سختگیرانه را حفظ میکند. هر Job در jobs/<job_id>/ ذخیره میشود که شامل پوشه stems/ با ۶ خروجی Demucs است. اگر زیرمجموعهای انتخاب شده باشد، فایلهای original.wav (مکمل) و mix.wav (ترکیب منتخب) نیز تولید میشوند. وضعیت Job در حافظه (In-memory) نگه داشته میشود، به این معنی که با ریاستارت سرور، لیست Jobها ریست میشود، هرچند فایلهای فیزیکی تا زمان انقضای TTL روی دیسک باقی میمانند.
برای شروع، کاربران میتوانند نصبکنندههای پیشساخته را از صفحه Releases گیتهاب دانلود کنند یا با استفاده از Rust و Python 3.12 از سورس بسازند.
گام بعدی شما
- اگر کارت صدای حرفهای دارید، StemDeck را نصب کنید و کیفیت جداسازی محلی را با سرویسهای ابری مقایسه کنید.
- برای محافظت از آثار منتشرنشده خود، از این به بعد پردازشهای صوتی را بهجای سایتها، روی سختافزار خودتان انجام دهید.
- اگر توسعهدهنده هستید، API این پروژه را بررسی کنید تا ببینید چگونه میتوان جداسازی صدا را در گردشکارهای خودکارسازی ادغام کرد.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell و تاثیر آنها بر استنتاج محلی مراجعه کنید.




گفتگو