خلاصه

Cycle CHOP چرخه‌ها (Cycles) ایجاد می‌کند. این نود می‌تواند کانال‌ها را هر تعداد بار که بخواهید، قبل و بعد از ورودی اصلی تکرار کند. همچنین می‌تواند یک چرخه واحد را طوری بسازد که از پایان تا ابتدای خودش یک انتقال نرم داشته باشد، تا یک حلقه‌ی روان (Smooth Loop) ایجاد شود.

از آنجایی که کانال‌ها همیشه به‌صورت طبیعی قابل تکرار و حلقه‌سازی نیستند، Cycle CHOP سه روش مختلف برای blend (ترکیب) کردن بین چرخه‌ها فراهم می‌کند.


پارامترها – صفحه Cycle

  • Cycles Before (before): تعداد چرخه‌هایی که باید قبل از CHOP ورودی تکرار شوند. این مقدار می‌تواند کسری (غیرصحیح) هم باشد.

  • Cycles After (after): تعداد چرخه‌هایی که باید بعد از CHOP ورودی تکرار شوند. این مقدار هم می‌تواند کسری باشد.

  • Mirror Cycles (mirror): اگر فعال شود، چرخه‌های پشت‌سرهم به‌صورت تصویر آینه‌ای (معکوس) نسبت به همدیگر ساخته می‌شوند. چرخه اول هیچ‌وقت آینه‌ای نمی‌شود.

  • Blend Start to End (extremes): اگر روشن باشد، پایان CHOP به ابتدای آن blend می‌شود تا یک حلقه نرم و روان ساخته شود.

    • اگر Cycles Before و Cycles After هر دو برابر ۰ باشند، ولی Region غیر صفر و Extend Conditions روی “Cycle” تنظیم شده باشند، خروجی به‌صورت بی‌نهایت روان حلقه می‌شود.


پارامترها – صفحه Blend

  • Method (blendmethod): نحوه‌ی blend شدن بین چرخه‌ها:

    • Preserve Length (pre): طول هر چرخه را به‌اندازه طول ورودی نگه می‌دارد.

    • Overlap Sequences (ovl): هر چرخه را با چرخه قبلی هم‌پوشانی می‌کند.

    • Insert Blend Region (ins): یک ناحیه بین چرخه‌ها اضافه می‌کند که در آن blend اتفاق می‌افتد.

  • Shape (blendfunc): شکل تابع blend:

    • Linear (lin): blend خطی.

    • Ease in (ei): از تابع easein() برای blend استفاده می‌کند.

    • Ease out (eo): از تابع easeout() برای blend استفاده می‌کند.

    • Ease in Ease out (cos): از هر دو تابع easein() و easeout() استفاده می‌کند.

    • Cubic (cub): در حالت Insert Blend Region، از میان‌یابی cubic() برای پرکردن ناحیه بین چرخه‌ها استفاده می‌کند.

    • Add (add): در نواحی هم‌پوشانی، نمونه‌ها مستقیماً با هم جمع می‌شوند (مناسب برای لوپ کردن صدا).

    • Hold Previous (holdprev): مقدار چرخه قبلی را نگه می‌دارد.

  • Region (blendregion): اندازه ناحیه blend، برحسب ثانیه، نمونه (samples) یا فریم (frames). (واحدها در صفحه Common مشخص می‌شوند.)

  • Blend Region Units (blendregionunit): تعیین واحد ناحیه blend.

  • Bias (blendbias): تعیین جهت bias برای blend.

    • مقدار -1 → تمایل به ابتدای ناحیه.

    • مقدار 0 → بدون bias.

    • مقدار +1 → تمایل به انتهای ناحیه.

  • Step (step): اگر روی ۱ تنظیم شود، چرخه بعدی در مقدار به سمت بالا یا پایین شیفت پیدا می‌کند تا دقیقاً از جایی شروع شود که چرخه قبلی پایان یافته. (مناسب برای آبجکت پایه در چرخه‌های راه‌رفتن.)

  • Step Scope (stepscope): نام کانال‌هایی که تحت تأثیر پارامتر Step قرار می‌گیرند.


پارامترها – صفحه Common

  • Time Slice (timeslice): روشن کردن این گزینه باعث می‌شود کانال‌ها به‌صورت Time Sliced پردازش شوند.

  • Scope (scope): مشخص می‌کند کدام کانال‌ها تحت تأثیر قرار گیرند (با استفاده از الگوی Pattern Matching).

  • Sample Rate Match (srselect): مدیریت تفاوت نرخ نمونه‌برداری بین ورودی‌های مختلف.

    • Resample At First Input’s Rate (first): همه ورودی‌ها با نرخ ورودی اول resample می‌شوند.

    • Resample At Maximum Rate (max): resample به بالاترین نرخ نمونه‌برداری.

    • Resample At Minimum Rate (min): resample به پایین‌ترین نرخ نمونه‌برداری.

    • Error If Rates Differ (err): نرخ‌های متفاوت را نمی‌پذیرد و خطا می‌دهد.

  • Export Method (exportmethod): تعیین نحوه اتصال کانال CHOP به پارامتر:

    • DAT Table by Index (datindex): ارجاع کانال با ایندکس در جدول DAT.

    • DAT Table by Name (datname): ارجاع کانال با نام در جدول DAT.

    • Channel Name is Path:Parameter (autoname): نام کانال مسیر کامل مقصد export را مشخص می‌کند (مثل geo1/transform1:tx).

  • Export Root (autoexportroot): نود ریشه‌ای که همه مسیرهای export در حالت Channel Name is Path:Parameter نسبت به آن در نظر گرفته می‌شوند.

  • Export Table (exporttable): جدول DAT برای نگه‌داری اطلاعات export.


ورودی‌های اپراتور

  • Input 0:


کانال‌های Info CHOP

کانال‌های عمومی Info در CHOP

  • start: شروع بازه CHOP برحسب نمونه (sample).

  • length: تعداد نمونه‌ها در CHOP.

  • sample_rate: نرخ نمونه‌برداری کانال‌ها (فریم بر ثانیه).

  • num_channels: تعداد کانال‌ها در CHOP.

  • time_slice: اگر Time Slice فعال باشد = ۱، در غیر این صورت = ۰.

  • export_sernum: تعداد دفعات به‌روزرسانی اتصالات export.

کانال‌های عمومی Info در اپراتور

  • total_cooks: تعداد دفعات cook شدن اپراتور از شروع پردازش تاکنون.

  • cook_time: مدت‌زمان آخرین cook (میلی‌ثانیه).

  • cook_frame: شماره فریمی که اپراتور آخرین بار cook شده (نسبت به timeline کامپوننت).

  • cook_abs_frame: شماره فریمی که اپراتور آخرین بار cook شده (نسبت به زمان مطلق).

  • cook_start_time: زمان شروع cook در فریم جاری (میلی‌ثانیه).

  • cook_end_time: زمان پایان cook در فریم جاری (میلی‌ثانیه).

  • cooked_this_frame: اگر اپراتور در این فریم cook شده باشد = ۱.

  • warnings: تعداد هشدارها (در صورت وجود).

  • errors: تعداد خطاها (در صورت وجود).