معرفی OnKey؛ ابزاری متنباز برای آموزش خوانندگی و تشخیص کوک صدا روی مک — Show HN: OnKey – I'm a bad singer, so I built an app to show where I'm off-key
خلاصه
اپلیکیشن OnKey یک ابزار متنباز برای سیستمعامل macOS است که موسیقی در حال پخش از اسپاتیفای، اپل موزیک یا یوتیوب را تحلیل میکند. این برنامه با تفکیک صدای خواننده و استفاده از مدلهای هوش مصنوعی، صدای شما را در لحظه ارزیابی کرده و کوک بودن یا نبودنتان را نشان میدهد.
برنامه OnKey یک ابزار تمرین خوانندگی متنباز است که برای سیستمعامل macOS توسعه داده شده و به شما کمک میکند تا کوک خواندن خود را بهبود ببخشید. این پروژه توسط Daniel Murrell ساخته شده و تحت مجوز MIT منتشر شده است.
انگیزه ساخت و ایده اولیه
سازنده این اپلیکیشن متوجه شده بود که اپهای موجود برای تمرین خوانندگی، به مرور زمان لیست آهنگهای خود را با نسخههای بازخوانیشده (Cover) پر کردهاند که تمرین کردن با آنها سختتر است. او میخواست آهنگی که گوش میدهد همان نسخهای باشد که با آن تمرین میکند. ایده اولیه با کمک Claude Code شکل گرفت و نسخهای اولیه با پایتون نوشته شد که میتوانست صدا را در ترمینال پردازش کند. سپس نسخه نهایی به صورت یک اپلیکیشن دسکتاپ توسعه یافت.
نحوه کارکرد فنی و معماری
برنامه OnKey برای یادگیری یک آهنگ، نیاز دارد که آن را یکبار بشنود بدون اینکه فایل صوتی را روی دیسک ذخیره کند. فرآیند پردازش شامل بخشهای زیر است:
- جداسازی صدای خواننده اصلی از موسیقی با استفاده از مدلهای تفکیک صدا.
- ردیابی زیروبم (Pitch) صدای خواننده اصلی با استفاده از الگوریتم CREPE.
- تبدیل نتها به بخشهای هجایی با مدل GAME.
- دریافت متن ترانه از طریق پایگاه داده LRCLIB و شناسایی آهنگ با کمک Shazam در صورت نیاز.
فناوریهای اصلی به کار رفته در این پروژه شامل Rust برای بخش دسکتاپ، Next.js و Tauri برای رابط کاربری، و مدلهای یادگیری ماشین پردازش صوت (ONNX) هستند.
حریم خصوصی
یکی از نکات برجسته این پروژه رویکرد آن نسبت به حریم خصوصی است. اپلیکیشن هیچوقت موسیقی پخششده یا صدای ضبطشده شما را ذخیره نمیکند. تمام تحلیلها در حافظه موقت (Memory) انجام میشود و هیچ اکانت، ابزار تحلیل (Analytics) یا گزارش خطایی به سرورهای خارجی ارسال نمیگردد.
محدودیتها
- اجرای این برنامه به مکهای مجهز به تراشههای Apple Silicon (مراحل M1 به بعد) و macOS نسخه 14.2 یا بالاتر نیاز دارد.
- اگر موسیقی پسزمینه خیلی شلوغ باشد، تفکیک دقیق صدای خواننده دشوار میشود.
- گاهی اوقات ممکن است نتها به اندازه یک اکتاو جابهجا تشخیص داده شوند.
دیدگاه کاربران هکرنیوز
در بحثهای هکرنیوز، برخی کاربران به این نکته اشاره کردند که استفاده از نمونههایی مانند Red Hot Chili Peppers برای تمرین خوانندگی چالشبرانگیز است، چون سبک خواننده خاص است. عدهای دیگر از اینکه اپلیکیشن بدون نیاز به فایلهای ازپیشآماده و مستقیماً از روی مرورگر یا پلیرها کار میکند ابراز رضایت کردند، هرچند برخی کاربران لینوکس ابراز تأسف نمودند که نسخه لینوکسی این ابزار وجود ندارد.
در یک نگاه
- زبانهای اصلی: Rust، پایتون و جاوااسکریپت
- سیستمعامل: macOS (فقط پردازندههای Apple Silicon)
- مجوز: MIT
- پیشنیازها: دسترسی به میکروفون و ضبط صدای سیستم
- وبسایت پروژه: singonkey.app
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل