# نسخهٔ دوم اتاق نوازندگی — ضبط واقعی و تعامل روی ساز

## آنچه اکنون اجرا می‌شود

به‌جای کیبورد عمومی، چهار نمای تعاملی اختصاصی اضافه شده است:

- **تار:** شش سیم در سه گروه، مضرابِ دنبال‌کنندهٔ ماوس، کلیک و درگ روی سیم‌ها، انتخاب پرده روی دسته و بازخورد ارتعاش.
- **سه‌تار:** چهار سیم، نمایش انگشت و انتخاب پرده. فعلاً فقط سیم اولِ آزاد، ضبط مرجع متصل دارد؛ سایر موقعیت‌ها بی‌صدا هستند.
- **دف:** پوست و حلقه‌ها، سه ناحیهٔ ضربه و بازخورد تصویری. شش برش ضربه از یک اجرای واقعی متصل شده‌اند.
- **کمانچه:** چهار سیم و آرشهٔ متحرک؛ **بانک صوتی مستقل هنوز تهیه نشده و هیچ صدایی جای آن پخش نمی‌شود.**

این نماها رسم تعاملی از **نوع ساز** هستند؛ نه عکس، اسکن، مدل سه‌بعدی یا اندازه‌گیری سازِ فیزیکی فروشی. محصولات اولیه همچنان نمایشی‌اند. برای سایر انواع ساز در فهرست ۱۲۱‌تایی، مدل اختصاصی ساخته نشده؛ سایت صریحاً همین موضوع را نمایش می‌دهد و تار یا پیانو جای آن قرار نمی‌دهد.

## بانک فعلی

| نوع ساز | فایل نواختنی | اجرای کامل مرجع | محدودیت |
|---|---:|---:|---|
| تار | ۱۲ | ۳ | فایل‌ها شامل چند شدت و موقعیت محدودند، نه تمام نت‌ها؛ بخشی از نگاشت به سیم، آموزشی است |
| سه‌تار | ۱ | ۰ | فقط سیم اولِ آزاد؛ دانلود فایل‌های بیشتر از منبع با محدودیت نرخ مواجه شد و ادامه نیافت |
| دف | ۶ | ۱ | برش از اجرا؛ محل فیزیکی ضربه در منبع مشخص نیست و نسبت‌دادن بم/زیر به نواحی تصویر تقریبی است |
| کمانچه | ۰ | ۰ | فقط تعامل تصویری؛ پخش بی‌صدا |

**۱۹ سمپل نواختنی و ۴ اجرای مرجع** داخل بسته قرار دارند. فایل‌ها محلی‌اند و برای استفادهٔ سایت نیاز به ارتباط کاربر با مخزن خارجی نیست.

## تفاوت مهم: ضبط واقعی با ضبط همان محصول

۱. «صدای مرجع» یعنی یک انسان واقعاً آن نوع ساز را نواخته و ضبط منتشر شده است؛ این نه صدای مصنوعی است و نه صدای ساز فروشی.

۲. «ضبط اختصاصی این محصول» یعنی مدیر فایل را به یک ساز فیزیکی مشخص متصل کرده و تعلق ضبط را اظهار می‌کند. این اظهار، گواهی مستقل اصالت نیست. پیش از فروش باید توسط مالک یا سازنده بررسی شود.

دو بانک **هرگز مخلوط نمی‌شوند**. اگر کاربر «ضبط اختصاصی این محصول» را انتخاب کند و نت موردنظر موجود نباشد، حتی با وجود صدای مرجعِ همان نوع ساز، صدا پخش نمی‌شود.

منابع ضبط‌شده از راه دور، نمی‌توانند صدای یک ساز دست‌سازِ در دسترس‌نبوده را ثابت کنند. این نسخه هنوز شرط «صدای دقیق تمام سازهای فیزیکی فروشی» را برآورده نکرده است. تکمیل آن نیازمند ضبط هر ساز و تأیید رابطهٔ عکس، شمارهٔ ساخت و بانک صوتی است.

## موتور پخش

- فقط `AudioBufferSourceNode` از فایل ضبط‌شده.
- `playbackRate = 1`؛ بدون تغییر سرعت، pitch shift یا ساخت نت‌های گمشده.
- هیچ `OscillatorNode` یا مولد نویز برای صدای ساز وجود ندارد.
- اگر نمونهٔ سیم/پرده/ناحیه موجود نباشد، پیام «ضبط نداریم» نشان داده شده و پخش انجام نمی‌شود.
- تغییر بلندی، فقط تغییر gain است؛ بازسازی شدت فیزیکی ضربه نیست. در صورت وجود ضبط قوی، آن فایل جداگانه انتخاب می‌شود.
- خروجی WAV از ترکیب همان ضبط‌ها ساخته می‌شود؛ شناسنامه و مجوز منابع به‌صورت RIFF INFO / ICMT در فایل خروجی درج می‌شود.
- این یک سمپلر تعاملی است، نه شبیه‌سازی فیزیکی کامل ساز. طنین مشترک سیم‌ها، فشار انگشت، لرزش پوست، آرشهٔ پیوسته و تمام ریزه‌کاری‌های نوازندگی مدل‌سازی نشده‌اند.

## ثبت ضبط واقعی همان ساز

در پنل مدیریت، «نمونه‌صداها»:

1. محصول دقیق را انتخاب کنید؛ بهتر است شمارهٔ ساخت در نام یا شرح محصول باشد.
2. برای نواختن، «سمپل تک‌نت» را انتخاب کنید؛ اجراهای کامل را جداگانه با نوع «قطعه» ثبت کنید.
3. شمارهٔ سیم یا گروه سیم، شمارهٔ پرده (صفر = آزاد)، ناحیه و شدت ضبط را وارد کنید.
4. نام صاحب ضبط و دو تأیید واقعی‌بودن/مجوز و تعلق به همان محصول لازم است.
5. فایل تمیز بدون سکوت ابتدایی را بارگذاری کنید. هر موقعیت به فایل مستقل نیاز دارد؛ نت گمشده با تغییر سرعت تولید نمی‌شود.
6. در اتاق ساز، «ضبط اختصاصی این محصول» را انتخاب و هر موقعیت را بررسی کنید.

جدول `sample_meta` به‌صورت سازگار با دیتابیس قبلی ساخته می‌شود. متادیتای ثبت‌شده شامل شمارهٔ سیم، پرده، ناحیه، شدت، اعتبار صاحب ضبط و نوع بانک است. فایل‌های قدیمیِ بدون این تأییدها وارد موتور پخش واقعی نمی‌شوند؛ برای استفاده، باید مجدداً با مشخصات درست بارگذاری شوند.

## آزمون‌ها

با Chromium خودکار روی دسکتاپ و موبایل بررسی شد:

- کلیک و درگ واقعی روی هندسهٔ SVG و حرکت مضراب.
- بارگذاری ۱۲ فایل تار و ۶ فایل دف؛ پخش تک‌نت واقعی سه‌تار.
- سرعت پخش دقیقاً ۱ و ممنوع‌کردن `createOscillator` در آزمون.
- نت/سیمِ ناموجود بی‌صدا می‌ماند.
- انتخاب بانک اختصاصیِ خالی، از بانک مرجع صدا قرض نمی‌گیرد.
- ضبط، بازشنوی، خروجی WAV و وجود مجوز/منبع در متادیتای خروجی با ffprobe.
- ثبت متادیتای نمونه توسط مدیر، اتصال به موقعیت درست و حذف نمونه.
- پخش/توقف اجرای مرجع، نبود خطای JavaScript و نبود بیرون‌زدگی افقی در ۳۹۰ پیکسل.

کیفیت آکوستیکی، شناسایی نهایی تکنیک‌ها و تطابق با ساز فیزیکی توسط کارشناس سازسازی بررسی نشده است.
