خلاصه
Audio Binaural CHOP از API مربوط به Steam Audio استفاده میکند تا صدای چندکاناله مبتنی بر اسپیکر (مانند: استریو، کوادرافونیک، 5.1، 7.1 و غیره) را به صدای باینورال تبدیل کند. این تبدیل با استفاده از رندرینگ باینورال مبتنی بر HRTF انجام میشود. HRTF استفادهشده همان مقدار پیشفرض ارائهشده توسط Steam Audio است.
این CHOP برای تبدیل صدا از فرمتهای مختلف به یک فرمت باینورال دوکاناله (۲ کانال) که مناسب محیطهای VR است، کاربرد دارد.
نرخ نمونهبرداری خروجی توسط منبع صوتی تعیین میشود، که باید یکی از مقادیر 44100 یا 48000 باشد.
همچنین ببینید: Audio Render CHOP، OpenVR، Oculus Rift
محتوا
خلاصه
پارامترها – صفحه Setup
پارامترها – صفحه عمومی
ورودیهای اپراتور
کانالهای Info CHOP
5.1. کانالهای Info عمومی اپراتور
پارامترها – صفحه Setup
Active (active) – وقتی فعال باشد، رندرینگ باینورال را به طور زنده انجام میدهد. وقتی غیرفعال باشد، کانالها صفر میشوند.
Input Format (inputformat) – ⊞ – انتخاب فرمت ورودی برای تبدیل. ورودی CHOP باید تعداد کانالهای درست را داشته باشد (مثلاً 6 کانال برای صدای 5.1 Surround).
Stereo (stereo) – نیاز به 2 کانال ورودی.
Quadraphonic Surround (quadraphonic) – نیاز به 4 کانال ورودی.
5.1 Surround (fiveone) – نیاز به 6 کانال ورودی.
7.1 Surround (sevenone) – نیاز به 8 کانال ورودی.
Custom Setup (custom) – تعداد کانالها بسته به تعداد اسپیکرهای موجود در جدول Mapping تغییر میکند.
Ambisonics (ambisonics) – تعداد کانالها بسته به Order امبینسونیک است.
Ambisonics Order (ambisonicsorder) – همراه با ورودی امبینسونیک استفاده میشود. از Orderهای 1 تا 3 پشتیبانی میکند. این پارامتر تعیین میکند چند کانال از ورودی نیاز است.
Order 1 → نیاز به 4 کانال
Order 2 → نیاز به 9 کانال
Order 3 → نیاز به 16 کانال
Listener (listener) – در صورت استفاده از ورودی امبینسونیک، میتوان یک آبجکت Listener مشخص کرد. جهتگیری Listener پیش از رندرینگ باینورال اعمال میشود.
Mapping Table (mappingtable) – یک جدول DAT که اسپیکرهای مختلف در Setup و موقعیت آنها را مشخص میکند. این جدول باید 3 ستون با نامهای x, y, z داشته باشد. هر ردیف یک اسپیکر را مشخص میکند و ستونها مکان آن را تعریف میکنند. این جدول همراه با ورودی Custom Setup استفاده میشود. جدول Mapping به ازای هر ردیف، نیاز به یک کانال از ورودی CHOP دارد.
پارامترها – صفحه عمومی
Time Slice (timeslice) – فعالسازی این گزینه باعث میشود کانالها به صورت “Time Sliced” پردازش شوند. (Time Slice بازه زمانی بین آخرین فریم Cook و فریم جاری است.)
Scope (scope) – برای مشخص کردن اینکه کدام کانالها تحت تأثیر قرار گیرند، برخی CHOPها از یک رشته Scope در صفحه عمومی استفاده میکنند. (ببینید Pattern Matching.)
Sample Rate Match (srselect) – ⊞ – مدیریت مواردی که نرخ نمونهبرداری ورودیهای مختلف CHOP متفاوت باشد. هنگام Resampling، منحنیها بر اساس گزینه روش اینترپولیشن بازنمونهبرداری میشوند، یا در صورت نبودن گزینه Interpolate، به صورت خطی (Linear) انجام میشوند.
Resample At First Input’s Rate (first) – استفاده از نرخ ورودی اول برای بازنمونهبرداری بقیه.
Resample At Maximum Rate (max) – بازنمونهبرداری به بالاترین نرخ نمونه.
Resample At Minimum Rate (min) – بازنمونهبرداری به پایینترین نرخ نمونه.
Error If Rates Differ (err) – نرخهای متناقض را نمیپذیرد.
Export Method (exportmethod) – ⊞ – مشخص میکند کانال CHOP چطور به پارامتر متصل شود. (برای اطلاعات بیشتر به مقاله Export مراجعه کنید.)
DAT Table by Index (datindex) – از جدول DAT متصل استفاده میکند و کانال را با ایندکس آن در CHOP مرجع میدهد.
DAT Table by Name (datname) – از جدول DAT متصل استفاده میکند و کانال را با نام آن در CHOP مرجع میدهد.
Channel Name is Path:Parameter (autoname) – کانال مستقیماً مسیر مقصد و پارامتر را مشخص میکند، مثل:
geo1/transform1:tx
.
Export Root (autoexportroot) – این مسیر به نود ریشهای اشاره دارد که تمام مسیرهایی که با روش “Channel Name is Path:Parameter” خروجی داده میشوند، نسبت به آن تعیین میشوند.
Export Table (exporttable) – جدول DAT مورد استفاده برای ذخیره اطلاعات خروجی، زمانی که روشهای Export جدول DAT استفاده میشوند (نگاه کنید به بالا).
ورودیهای اپراتور
Input 0: –
کانالهای Info CHOP
اطلاعات اضافی برای Audio Binaural CHOP را میتوان از طریق یک Info CHOP دسترسی داشت.
کانالهای Info عمومی اپراتور
total_cooks – تعداد دفعاتی که اپراتور از شروع فرایند Cook شده است.
cook_time – مدت زمان آخرین Cook بر حسب میلیثانیه.
cook_frame – شماره فریم وقتی اپراتور آخرین بار نسبت به تایملاین مؤلفه Cook شده است.
cook_abs_frame – شماره فریم وقتی اپراتور آخرین بار نسبت به زمان مطلق Cook شده است.
cook_start_time – زمان شروع Cook اپراتور در فریم مربوطه (بر حسب میلیثانیه).
cook_end_time – زمان پایان Cook اپراتور در همان فریم (بر حسب میلیثانیه).
cooked_this_frame – مقدار 1 اگر اپراتور در این فریم Cook شده باشد.
warnings – تعداد هشدارها در این اپراتور (در صورت وجود).
errors – تعداد خطاها در این اپراتور (در صورت وجود).