خلاصه
Audio Spectrum CHOP طیف فرکانسی کانال‌های ورودی را محاسبه و نمایش می‌دهد.

در حالت پیش‌فرض Visualization Mode، این CHOP طیف را به‌صورتی نمایش می‌دهد که فهم آن ساده‌تر باشد؛ به این صورت که سطح فرکانس‌های بالا و دامنه فرکانس‌های پایین پررنگ‌تر نشان داده می‌شوند.

در حالت دیگر، یعنی Time to Magnitude and Phase Mode، صدا می‌تواند به حوزه طیف فرکانسی تبدیل شود، تغییر یابد و سپس دوباره بازگردانده شود تا سیگنال صوتی فیلترشده به دست آید. هنگام تبدیل سیگنال به طیف، از یک کانال صوتی دو کانال ساخته می‌شود: یکی شامل دامنه (Magnitude) مؤلفه‌های فرکانسی و دیگری شامل فاز (Phase). نام این کانال‌ها به‌صورت مثال chan1_m و chan1_p خواهد بود که پسوند _m برای دامنه و _p برای فاز است.

نکته: اگر اندازه FFT را از مقدار پیش‌فرض (8192 نمونه) کاهش دهید، زمان Cook کاهش می‌یابد. سریع‌ترین حالت این CHOP با تنظیم Output Length روی «تنظیم دستی» است. برای مثال: اندازه بافر خروجی را روی 2048 نمونه و FFT Size را نیز روی 2048 بگذارید. در این حالت، CHOP هر بار جدیدترین 2048 نمونه را بررسی می‌کند (با نرخ 44.1 کیلوهرتز، یعنی حدود 50 میلی‌ثانیه یا 3 فریم)، که کافی است. در حالت پیش‌فرض این CHOP حدود 22,000 نمونه می‌دهد: از 1 هرتز تا 22,050 هرتز به گام‌های 1 هرتز (وقتی روی Frequency vs Logarithmic Scaling تنظیم شود) تا بتوان به‌روشنی تفسیر کرد؛ مثلاً نمونه 1000 همان سطح صدا در 1000 هرتز است.

نکته: برای پیدا کردن فرکانس دقیق یک موج که وارد Audio Spectrum CHOP می‌شود، به پنجره Info نود (با MMB روی نود) نگاه کنید. آنجا نوشته است: “Frequency <-> Logarithmic Scaling” را روی 0 بگذارید، سپس هر نمونه را در مقدار xxxx ضرب کنید تا فرکانس آن نمونه به دست آید. (xxxx به نرخ نمونه‌برداری و تنظیمات دیگر وابسته است و ثابت نیست.)

همچنین ببینید: Audio Filter CHOP, Audio Para EQ CHOP, Audio Band EQ CHOP, Audio Oscillator CHOP (روی White Noise تنظیم شده).


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

  • Mode (mode) – ⊞ – حالت اجرا را انتخاب می‌کند:

    • Visualization: طیف را به‌شکل قابل‌فهم‌تر نشان می‌دهد (تقویت سطح فرکانس‌های بالا و گسترده‌کردن محور افقی برای فرکانس‌های پایین).

    • Time to Magnitude and Phase (timetoraw): طیف فرکانسی را از یک سیگنال محاسبه می‌کند.

    • Magnitude and Phase to Time (rawtotime): یک سیگنال را دوباره می‌سازد به شرطی که ورودی، طیف فرکانسی مشابه خروجی Audio Spectrum CHOP در حالت قبل باشد.

  • FFT Size (fftsize) – ⊞ – تعداد نمونه‌ها برای تبدیل به حوزه فرکانس (توانی از 2: مثل 512، 1024، 2048). هرچه تعداد نمونه بیشتر باشد، طیف دقیق‌تر است اما نمایانگر آخرین صدا نخواهد بود. CHOP همیشه جدیدترین نمونه‌ها را می‌گیرد. مثال: در نرخ 44100 نمونه در ثانیه و فریم‌ریت 60 فریم در ثانیه، در هر فریم حدود 735 نمونه وجود دارد. اگر FFT=1024 باشد، در Cook بعدی 1024-735=289 نمونه همپوشانی خواهد بود.
    گزینه‌ها: 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384.

  • Frequency <-> Logarithmic Scaling (frequencylog) – در حالت لگاریتمی (=1) قابل‌درک‌تر برای شنوایی انسان است (هر اکتاو با تعداد نمونه یکسان نمایش داده می‌شود، بنابراین فرکانس‌های پایین واضح‌تر هستند). در حالت فرکانس (=0) هر نمونه تعداد ثابتی هرتز را نشان می‌دهد (خام FFT). توجه مهم: اگر Mode روی Visualization باشد و این پارامتر روی 0، داده‌ها ساده‌تر تفسیر می‌شوند: 1 نمونه در هر 1 هرتز.

  • High Frequency Boost (highfreqboost) – وقتی 0 باشد هیچ تغییری نمی‌دهد؛ اگر بیشتر از 1 باشد، سطح فرکانس‌های بالا را تقویت می‌کند.

  • Output Length (outputmenu) – ⊞ – نحوه تعیین طول خروجی.

    • Match Length To Frequency (matchtofrequency)

    • Set Length Manually (setmanually)

  • Set Output Length (outlength) – تعداد نمونه‌های خروجی. هرچه کمتر، دقت فرکانسی پایین‌تر.


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

  • Time Slice (timeslice) – اگر روشن باشد، کانال‌ها به‌صورت Time Sliced پردازش می‌شوند (یعنی بین Cook قبلی و فعلی).

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

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

    • first: نرخ ورودی اول را مبنا می‌گیرد.

    • max: به بالاترین نرخ نمونه‌برداری بازنمونه‌گیری می‌کند.

    • min: به پایین‌ترین نرخ.

    • err: اگر نرخ‌ها متفاوت باشند خطا می‌دهد.

  • Export Method (exportmethod) – ⊞ – روش اتصال CHOP به پارامتر:

    • DAT Table by Index (datindex)

    • DAT Table by Name (datname)

    • Channel Name is Path:Parameter (autoname)

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

  • Export Table (exporttable) – DATی که اطلاعات اکسپورت در آن ذخیره می‌شود.


یادداشت‌ها

  • یک سناریوی مناسب از نظر مصرف CPU: FFT = 2048. هم دقت خوبی می‌دهد و هم افت فریم‌ها را (تقریباً) جبران می‌کند.

  • می‌توان یک Info CHOP متصل کرد و کانال hz_per_sample را مشاهده کرد (فقط وقتی محور فرکانس روی خطی باشد).

  • برای بازسازی سیگنال، هر دو کانال (Magnitude و Phase) لازم‌اند و پسوندها باید همان پسوندهای Audio Spectrum CHOP قبلی باشند.


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

  • Input 0 – ورودی اصلی سیگنال.


کانال‌های Info CHOP

اطلاعات اضافه Audio Spectrum CHOP را می‌توان از طریق Info CHOP به دست آورد.

  • کانال‌های خاص Audio Spectrum CHOP

    • hz_per_sample – تعداد هرتز به ازای هر نمونه.

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

    • start – شروع بازه CHOP در نمونه‌ها

    • length – تعداد نمونه‌ها

    • sample_rate – نرخ نمونه‌برداری بر حسب فریم بر ثانیه

    • num_channels – تعداد کانال‌ها

    • time_slice – ۱ اگر Time Slice فعال باشد

    • export_sernum – شمارش دفعات به‌روزرسانی اتصال‌های اکسپورت

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

    • total_cooks – تعداد دفعات Cook شدن

    • cook_time – مدت زمان آخرین Cook (ms)

    • cook_frame – شماره فریم آخرین Cook (نسبت به تایم‌لاین)

    • cook_abs_frame – شماره فریم آخرین Cook (نسبت به زمان مطلق)

    • cook_start_time – زمان شروع Cook (ms)

    • cook_end_time – زمان پایان Cook (ms)

    • cooked_this_frame – ۱ اگر در همین فریم Cook شده باشد

    • warnings – تعداد هشدارها

    • errors – تعداد خطاها