تصور کنید اپلیکیشنی داشته باشید که بهجای حبس کردن شما در دنیای دیجیتال، به شما دستور دهد گوشی را کنار بگذارید و به دنبال یک موجود زنده بگردید. HearWild دقیقاً همین کار را میکند؛ ابزاری که از هوش مصنوعی برای شناسایی صدای پرندگان استفاده میکند تا شما را به فضای باز بکشاند. این پروژه متنباز که به عنوان بخشی از چالش هوش مصنوعی متنباز Hacktoberfest عرضه شده است، هدف اصلی خود را تغییر نقش گوشیهای هوشمند از یک عامل حواسپرتی به ابزاری برای کشف طبیعت قرار داده است.
بیشتر محصولات هوش مصنوعی بهگونهای طراحی شدهاند که با ایجاد حلقههای تعاملی، زمان خیره شدن ما به صفحه را به حداکثر برسانند. اما HearWild این منطق را وارونه کرده است. این برنامه از یک گردش کار با عنوان «گوش بده، کشف کن، یاد بگیر، به فضای باز برو» استفاده میکند. این ابزار برای افرادی طراحی شده که کنجکاو هستند و میخواهند بدون داشتن دانش تخصصی یا عمیق در زمینه پرندهشناسی، با محیط اطراف خود ارتباط برقرار کنند. کاربر نیازی ندارد عکسی بگیرد یا بداند به چه پرندهای نگاه میکند؛ تنها کافی است میکروفون را به سمت صدا بگیرد و چند ثانیه ضبط کند.
زمینه پروژه
این پروژه برای هفته اول چالش هوش مصنوعی متنباز Hacktoberfest با عنوان «Touch Grass» (اصطلاحی به معنای ارتباط دوباره با دنیای واقعی و طبیعت) ارسال شد. قصد توسعهدهنده این بود که یک همراه طبیعت بسازد که کاربران را تشویق کند از خانه خارج شوند و به محیط اطرافشان توجه کنند.
بهجای ساخت یک دستیار هوش مصنوعی دیگر که فعالیتهای مختلفی را روی صفحه نمایش پیشنهاد دهد، HearWild به کاربر میگوید: «صدای یک پرنده را شنیدی، حالا برو و آن را پیدا کن».

به نقل از مستندات پروژه، این سیستم برای جلوگیری از وابستگی به APIهای تجاری و بسته، بر پایه یک پشته استنتاج محلی بنا شده است. توسعهدهنده این مسیر را انتخاب کرد تا اطمینان حاصل کند که هوش مصنوعی بخشی از یک پشته متنباز است، نه یک API بسته و انحصاری.
جزئیات فنی
معماری این پروژه برای اجرای محلی در چندین لایه طراحی شده است تا هر مرحله از پردازش بهینهترین حالت ممکن را داشته باشد:
- رابط کاربری (Frontend): با استفاده از Vue 3 و Vite برای مدیریت رابط کاربری و عملیات ضبط صدا ساخته شده است.
- بکاند (Backend): یک سرور FastAPI پایتونی که تمام پردازشهای صوتی را مدیریت میکند.
- تبدیل صدا: ابزار FFmpeg برای تبدیل فرمتهای صوتی ضبط شده در مرورگر به فرمت مورد نیاز مدل هوش مصنوعی استفاده میشود.
- هسته هوش مصنوعی: مدل BirdNET V3 که در قالب ONNX برای شناسایی محلی پرندگان اجرا میشود. استنتاج (Inference) — مثل لحظهای که یک آشپز با استفاده از دستور پخت، واقعاً غذا را میپزد — در اینجا بهصورت کاملاً آفلاین انجام میگیرد.
- ذخیرهسازی: از SQLite برای ثبت «گله» (Flock) کاربر، تعداد دفعات شنیده شدن پرندگان و پیشرفت XP استفاده شده است.
- منبع داده: برای نمایش تصاویر پرندگان و ارائه توضیحات کوتاه در صورت موجود بودن، از دادههای Wikimedia بهره میبرد.
بر اساس بررسی منابع فنی، این اپلیکیشن برای تضمین دقت و جلوگیری از شناساییهای غلط، از یک رفتار آگاه از میزان اطمینان (Confidence-aware) بر اساس خروجی مدل استفاده میکند:
- اطمینان بالای ۷۰٪: شناسایی قطعی؛ در این حالت پرنده به «گله» کاربر اضافه شده و کاربر امتیاز XP دریافت میکند.
- اطمینان ۲۰ تا ۶۹٪: شناسایی احتمالی؛ نتیجه به کاربر نمایش داده میشود، اما پرنده به گله اضافه نمیشود.
- اطمینان زیر ۲۰٪: ناشناخته؛ برنامه برای جلوگیری از ارائه پاسخهای اشتباه و توهم، تظاهر به دانستن پاسخ نمیکند.
گیمیفیکیشن و پاداشها
برای تشویق کاربر به گشتوگذار در محیطهای مختلف، HearWild یک سیستم سطحبندی (Leveling) را ادغام کرده است. وقتی یک پرنده با اطمینان شناسایی شود، کاربران امتیاز تجربه (XP) کسب میکنند:
- کشف پرنده جدید: ۱۰۰+ امتیاز XP
- کشف مجدد پرنده تکراری: ۲۵+ امتیاز XP
- پیشرفت: با کشف پرندگان بیشتر، کاربر میتواند سطح (Level) خود را ارتقا دهد.
استفاده از یک پشته متنباز باعث شده تا توسعهدهنده از اشتراکهای تجاری APIها فاصله بگیرد و پروژهای خلق کند که هر کسی بتواند آن را بازتولید کند. این رویکرد، هوش مصنوعی را نه به عنوان یک سرویس بسته، بلکه به عنوان یک بلوک ساختمانی برای آزمایشهای شخصی تعریف میکند. این ساختار به توسعهدهندگان اجازه میدهد شناسایی را بهصورت محلی اجرا کنند، از ارسال ضبطها به سرویسهای انحصاری اجتناب کنند و خط لوله استنتاج را مستقیماً کنترل نمایند.
این تغییر در فلسفه طراحی، نشاندهنده علاقه فزاینده به «تکنولوژی آرام» (Calm Technology) است. HearWild بهجای افزودن محتوای دیجیتال بیشتر برای تماشا، از هوش مصنوعی استفاده میکند تا کاربر متوجه آنچه در دنیای فیزیکی حضور دارد شود. در واقع، این برنامه با هوش مصنوعی به عنوان پلی به سوی دنیای واقعی برخورد میکند، نه اینکه خودِ هوش مصنوعی را مقصد نهایی قرار دهد.
برای کاربر، این بدان معناست که ارزش واقعی نه در رابط کاربری برنامه، بلکه در عملِ بیرون رفتن از خانه است. المانهای گیمیفیکیشن مانند XP و ارتقای سطح، به عنوان انگیزههایی برای کاوش در مکانهای فیزیکی بیشتر عمل میکنند، نه برای نگه داشتن کاربر در حالت اسکرول کردن.
گام بعدی شما
- اگر توسعهدهنده هستید، کد منبع HearWild را در گیتهاب بررسی کنید تا ببینید مدل BirdNET V3 چگونه با FastAPI ادغام شده است.
- برای تجربه شخصی، سعی کنید در محیطهای مختلف صدای پرندگان را ضبط کرده و دقت مدل را در محیطهای پرنویز بسنجید.
- درباره مدلهای ONNX مطالعه کنید تا یاد بگیرید چگونه مدلهای سنگین را برای اجرا روی دستگاههای ضعیف بهینه کنید.
اما داستان سختافزاری اجرای مدلهای محلی حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای NPU در گوشیهای جدید مراجعه کنید.




گفتگو