خلاصه

Filter CHOP کانال‌های ورودی را هموار (Smooth) یا تیز (Sharpen) می‌کند.
این فیلتر با ترکیب هر نمونه (Sample) و محدوده‌ای از نمونه‌های مجاور آن، مقدار جدید نمونه را محاسبه می‌کند. هر نوع فیلتر از ضرایب وزنی مخصوص به خود برای نمونه‌های مجاور استفاده می‌کند.
پارامتر Filter Width تعداد نمونه‌های مجاور که در محاسبه استفاده می‌شوند را مشخص می‌کند.

  • فیلتر Gaussian پیش‌فرض داده‌ها را به خوبی هموار می‌کند، معمولاً با Filter Width حدود ۰.۳ ثانیه.

  • Box Filter زمانی جالب است که ورودی‌ها تغییرات ناگهانی داشته باشند؛ مقادیر به صورت خطی به مقدار جدید میان‌یابی (Interpolate) می‌شوند.

معمولاً مفید است که Filter CHOP را به Trail CHOP متصل کنید و سیگنال قبل و بعد از فیلتر را به ورودی‌های آن بدهید.

اگر بخواهید یک یا چند کانال چند نمونه‌ای (Multi-sample) را فیلتر کنید و هر نمونه مانند یک فیلتر مستقل پردازش شود، پارامتر Filter per Sample را فعال کنید.

برای اثر مشابه اما تندتر، می‌توانید از Lag CHOP استفاده کنید.

Filter CHOP می‌تواند هم حرکت و هم صدا را فیلتر کند، اما CHOPهای دیگری برای فیلتر کردن صدا مناسب‌تر هستند، مانند: Audio Filter CHOP، Band EQ CHOP و Parametric EQ CHOP.

کلاس پایتون: filterCHOP_Class


محتوا

  1. خلاصه

  2. توضیحاتی درباره One Euro Filter

  3. پارامترها – صفحه Filter

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

  5. ورودی‌های عملگر (Operator Inputs)

  6. کانال‌های Info CHOP

    • 6.1 کانال‌های عمومی CHOP Info

    • 6.2 کانال‌های عمومی Operator Info


توضیحاتی درباره One Euro Filter

فیلتر One Euro به‌ویژه زمانی مفید است که کاربر در یک حلقه تعاملی با TouchDesigner قرار دارد و نیاز به پاسخ سریع دارد:

  • به تغییرات بزرگ سریع پاسخ می‌دهد

  • نویز و لرزش‌های کوچک ورودی را هموار می‌کند

پارامترها:

  • Cutoff Frequency: اگر لرزش‌های آهسته مشکل ایجاد می‌کنند، کاهش دهید.

  • Slope Cutoff Frequency: از جهش‌های بزرگ مشتق (Derivative) ناشی از لرزش جلوگیری می‌کند.

  • Speed Coefficient: اگر تأخیر در سرعت زیاد مشکل است، افزایش دهید.

توضیح الگوریتم:
فیلتر 1 € (یک یورو) یک الگوریتم ساده برای فیلتر کردن سیگنال‌های نویزی با دقت و پاسخ سریع است.

  • از یک فیلتر پایین‌گذر (Low-pass) مرتبه اول با فرکانس قطع تطبیقی استفاده می‌کند.

  • در سرعت‌های پایین، فرکانس قطع پایین، لرزش را کاهش داده و سیگنال را پایدار می‌کند.

  • با افزایش سرعت، فرکانس قطع افزایش می‌یابد تا تأخیر کاهش یابد.

مزیت‌ها:

  • پیاده‌سازی ساده

  • استفاده کم از منابع

  • پارامترهای قابل فهم و ساده برای تنظیم

روش تنظیم فیلتر One Euro:

  1. ابتدا Speed Coefficient را روی 0 و Cutoff Frequency را روی مقداری متوسط مثل 1Hz تنظیم کنید.

  2. بخش موردنظر بدن را ثابت نگه دارید یا با سرعت بسیار کم حرکت دهید و Slope Cutoff Frequency را تنظیم کنید تا لرزش کم شده و تأخیر قابل قبول باقی بماند.

  3. سپس بخش بدن را سریع در جهات مختلف حرکت دهید و Speed Coefficient را افزایش دهید تا تأخیر به حداقل برسد.

مرجع: Casiez, G., Roussel, N. and Vogel, D. (2012). 1€ Filter: A Simple Speed-based Low-pass Filter for Noisy Input in Interactive Systems


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

  • Type (type) – ⊞ نوع فیلتر را انتخاب می‌کند (هفت نوع موجود است).

  • Effect (effect) – میزان تأثیر فیلتر روی کانال (۰ = هیچ، ۱ = حداکثر).

  • Filter Width (width) – تعداد نمونه‌های اطراف که در محاسبه نمونه فعلی استفاده می‌شوند.

  • Filter Width Unit (widthunit) – واحد برای Filter Width: Samples، Frames یا Seconds.

  • Spike Tolerance (spike) – در فیلتر De-spike، حداکثر اختلاف نمونه با همسایگان بدون اینکه Spike محسوب شود.

  • Ramp Tolerance (ramptolerance) – در فیلتر Ramp Preserve، اگر ورودی از مقدار فعلی خروجی بیشتر از این مقدار فاصله داشته باشد، Ramp به مقدار جدید بازنشانی می‌شود.

  • Ramp Rate (ramprate) – نرخ افزایش خروجی در Ramp Preserve.

  • Number of Passes (passes) – تعداد دفعات اعمال فیلتر روی کانال.

  • Filter per Sample (filterpersample) – اعمال فیلتر روی هر نمونه به‌صورت جداگانه (برای کانال‌های Multi-sample مفید).

  • Cutoff Frequency (Hz) (cutoff) – کاهش برای کاهش لرزش‌های آهسته.

  • Speed Coefficient (speedcoeff) – افزایش برای کاهش تأخیر در سرعت بالا.

  • Slope Cutoff Frequency (Hz) (slopecutoff) – جلوگیری از جهش‌های مشتق ناشی از لرزش.

  • Reset (reset) – روشن = بازنشانی/عبور از فیلتر.

  • Reset Pulse (resetpulse) – بازنشانی فوری اثر فیلتر.


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

  • Time Slice (timeslice) – فعال = کانال‌ها به‌صورت Time Slice پردازش شوند.

  • Scope (scope) – تعیین کانال‌هایی که تحت تأثیر قرار می‌گیرند.

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

    • first: نرخ ورودی اول برای Resample

    • max: Resample به بیشترین نرخ

    • min: Resample به کمترین نرخ

    • err: خطا در صورت اختلاف نرخ

  • Export Method (exportmethod) – ⊞ اتصال کانال CHOP به پارامترها.

  • DAT Table by Index / Name / Path:Parameter – روش‌های Export مبتنی بر جدول DAT یا مسیر کامل.

  • Export Root (autoexportroot) – مسیر ریشه برای Export.

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


ورودی‌های عملگر (Operator Inputs)

  • Input 0:

  • Input 1:


کانال‌های Info CHOP

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

  • start، length، sample_rate، num_channels، time_slice، export_sernum

کانال‌های عمومی Operator Info:

  • total_cooks، cook_time، cook_frame، cook_abs_frame، cook_start_time، cook_end_time، cooked_this_frame، warnings، errors