آموزش, ترفندها

بهینه سازی تاخیر در کارت صدا

بهینه‌سازی تاخیر کارت صدا

سؤالی که معمولاً برای نوازندگان تازه‌کار مطرح می‌شود این است: چرا پس از فشردن کلیدی روی میدی کنترلر، صدای سینت‌سایزر نرم‌افزاری در کامپیوتر با تأخیر پخش می‌شود؟

گاهی اوقات این تأخیر ممکن است تا حدود یک ثانیه طول بکشد و اجرای زنده را تقریباً غیرممکن کند. نوازندگان تازه‌وارد به دنیای موسیقی کامپیوتری، معمولاً خیلی زود متوجه می‌شوند که عامل اصلی این مشکل، تأخیر (Latency) و اندازه بافر (Buffer Size) است؛ اما اغلب نمی‌دانند دقیقاً باید چه تنظیماتی را تغییر دهند و کدام حالت بهترین عملکرد را ارائه می‌دهد.

تنظیم درست اندازه بافر نقش مهمی در دستیابی به عملکرد بهینه کارت صدا دارد. اگر اندازه بافر بیش از حد کوچک باشد، صدای خروجی با کلیک‌ها و پرش‌های ناخواسته همراه خواهد شد (Pops & Clicks)، و اگر بیش از حد بزرگ باشد، هنگام اجرای زنده تأخیر محسوسی در پخش صدا به وجود می‌آید. مقدار ایده‌آل بافر به عوامل متعددی بستگی دارد؛ از جمله توان پردازشی کامپیوتر، نحوه کار شما با صدا، و تنظیمات نرم‌افزارهای MIDI و AUDIO که استفاده می‌کنید. به همین دلیل، یافتن بهترین مقدار نیازمند آزمون، خطا و شناخت دقیق از سیستم و نرم‌افزار مورد استفاده است.

بررسی عوامل تاثیر گذار در بهینه سازی تاخیر کارت صدا

نقش بافرها در پخش و ضبط صدا

بیایید ابتدا به‌صورت خلاصه بررسی کنیم که چرا به بافرهای نرم‌افزاری نیاز داریم.

پخش صدای دیجیتالی‌شده مستلزم جریان مداومی از داده‌هاست که باید از هارد دیسک یا حافظه RAM به مبدل دیجیتال به آنالوگ (D/A) کارت صدا منتقل شود تا بتوان آن را از طریق اسپیکر یا هدفون شنید. به همین ترتیب، در زمان ضبط صدا نیز جریان پیوسته‌ای از داده‌ها تولید می‌شود؛ با این تفاوت که این‌ بار مبدل آنالوگ به دیجیتال (A/D) سیگنال صوتی ورودی را به داده‌های دیجیتال تبدیل کرده و سپس آن را در RAM یا روی هارد دیسک ذخیره می‌کند.

سیستم‌عامل macOS با اجرای متوالی چندین فرآیند و برنامه مختلف کار می‌کند، به‌گونه‌ای که هر یک بخشی از چرخه‌های پردازنده (CPU) و ورودی/خروجی (I/O) را به خود اختصاص می‌دهند. برای اطمینان از جریان پیوسته و بدون وقفه صدا، بخشی از حافظه سیستم به‌صورت موقت به عنوان «بافر» در نظر گرفته می‌شود تا قطعات کوچکی از داده‌های صوتی را ذخیره کرده و از بروز اختلال در پخش یا ضبط جلوگیری کند.

در زمان پخش صدا، کارت صدا به‌طور مداوم از داده‌های موجود در بافرها استفاده می‌کند، در حالی که سیستم‌عامل مشغول انجام سایر وظایف خود است. در این فرآیند، سیستم‌عامل باید پیش از آن‌که داده‌های فعلی در بافر به پایان برسد، دوباره بازگردد و بخش بعدی داده‌های صوتی را در آن بارگذاری کند. به‌طور مشابه، هنگام ضبط صدا نیز داده‌های ورودی به‌تدریج بافرهای دیگری را پر می‌کنند و سیستم‌عامل در فواصل زمانی مشخص، آن داده‌ها را از بافر برداشته و در حافظه یا هارد دیسک ذخیره می‌کند.

اگر اندازه بافرها بیش از حد کوچک باشد و سیستم‌عامل نتواند به‌موقع آن‌ها را پر (در هنگام پخش) یا خالی (در هنگام ضبط) کند، در جریان صوتی شکاف‌هایی ایجاد می‌شود. این شکاف‌ها معمولاً به‌صورت کلیک‌ها یا پرش‌های ناگهانی در صدا شنیده می‌شوند که به آن‌ها گلیچ (Glitch) گفته می‌شود. هرچه اندازه بافر کوچک‌تر باشد، این گلیچ‌ها بیشتر و شدیدتر رخ می‌دهند؛ ابتدا به شکل صدای خش‌خش یا قطع‌ و وصلی‌های جزئی ظاهر می‌شوند و در صورت ادامه، ممکن است به وقفه‌های مداوم و دیستورشن شدید (Distortion) منجر شوند، به‌طوری که صدای خروجی به‌صورت تکه‌تکه و غیرقابل‌تشخیص پخش می‌شود.

افزایش چشمگیر اندازه بافرها معمولاً به‌سرعت بیشتر مشکلات مربوط به کلیک‌ها و پرش‌های صوتی را برطرف می‌کند، اما این کار یک پیامد ناخواسته نیز به‌همراه دارد: هر تغییری که در صدا توسط نرم‌افزار ایجاد می‌شود، تا زمانی که بافر بعدی پردازش نگردد، اعمال نخواهد شد. این پدیده همان تأخیر (Latency) است.

تأخیر معمولاً در دو موقعیت بیش از همه محسوس است:
۱. هنگام اجرای زنده با یک سینت‌سایزر یا سمپلر نرم‌افزاری در زمان واقعی.
۲. هنگام ضبط اجرا.

در حالت نخست، ممکن است شما کلیدی را روی میدی کنترلر فشار دهید، اما صدای حاصل تا زمانی که بافر بعدی پردازش و به کارت صدا ارسال نشود، پخش نخواهد شد. در بسیاری از موارد، این تأخیر بسیار جزئی است و شاید اصلاً متوجه آن نشوید، اما با افزایش اندازه بافر و طولانی‌تر شدن زمان پردازش، این فاصله شنیداری به‌تدریج محسوس، آزاردهنده و در نهایت برای اجرای زنده غیرقابل تحمل می‌شود.

در زمان ضبط، وضعیت حتی پیچیده‌تر می‌شود. دلیل آن این است که سیگنال ورودی ابتدا باید از بافرهای ورودی عبور کند تا به نرم‌افزار صوتی برسد، سپس پس از پردازش، از مجموعه دوم بافرهای خروجی نیز بگذرد تا در نهایت به مبدل دیجیتال به آنالوگ (D/A Converter) کارت صدا منتقل شده و از طریق اسپیکر یا هدفون شنیده شود.

به‌عبارت دیگر، تا زمانی که این دو مرحله متوالی کامل نشود، صدای ورودی قابل شنیدن نخواهد بود. نتیجه آن، تأخیر مانیتورینگ (Monitoring Latency) است که معمولاً تقریباً دو برابر تأخیر پخش (Playback Latency) خواهد بود و می‌تواند فرآیند ضبط را برای نوازنده به‌طور محسوسی دشوار کند.

نقش بافرها در پخش و ضبط صدا

پلاگین‌های افکت نیز می‌توانند به‌صورت مستقل، میزان قابل توجهی تأخیر پردازشی به جریان صوتی اضافه کنند. این مسئله به‌ویژه در مورد افکت‌هایی مانند کمپرسورها، لیمیترها و دی‌اسرها مشهود است، زیرا این پردازش‌ها معمولاً برای پیش‌بینی و شناسایی پیک‌های سیگنال، به بخشی از شکل موج در آینده نگاه می‌کنند. همچنین تغییردهنده‌های ارتفاع صدا (Pitch-Shifter) و ریورب‌های مبتنی بر Convolution نیز به‌دلیل محاسبات پیچیده و سنگین خود، از جمله عوامل اصلی افزایش تأخیر محسوب می‌شوند.

هر ترک صوتی که از چنین پلاگین‌هایی استفاده کند، نسبت به سایر ترک‌ها با میزان متفاوتی از تأخیر مواجه خواهد شد. برای جلوگیری از این ناهماهنگی زمانی و حفظ هم‌ترازی دقیق میان ترک‌ها، اغلب نرم‌افزارهای حرفه‌ای MIDI و صوتی امروزی قابلیتی به نام جبران خودکار تأخیر (Automatic Delay Compensation) ارائه می‌دهند که تأخیر تمام مسیرهای صوتی را به‌طور هوشمند هماهنگ می‌کند.

با این حال، این قابلیت می‌تواند در زمان مانیتورینگ ضبط باعث افزایش تأخیر شود. برای رفع این مشکل، برخی نرم‌افزارها – از جمله Cubase SX – ویژگی‌ای به نام محدود کردن جبران تأخیر (Constrain Delay Compensation) را در اختیار کاربر قرار می‌دهند. این عملکرد به‌صورت موقت، پلاگین‌هایی را که تأخیر ذاتی آن‌ها از حدی مشخص (قابل تنظیم در بخش Preferences) بیشتر است، غیرفعال می‌کند تا در زمان ضبط یا اجرای زنده، تأخیر شنیداری به حداقل برسد. پس از اتمام ضبط، می‌توان این قابلیت را غیرفعال کرد تا تمام پلاگین‌ها دوباره فعال شوند و صداها به شکل کامل و با تمام پردازش‌ها شنیده شوند.

مانیتورینگ با تاخیر صفر

همان‌طور که می‌بینید، موضوع تأخیر (Latency) می‌تواند پیچیده و گاه سردرگم‌کننده باشد. خوشبختانه، بسیاری از کارت‌های صدا امروزی قابلیتی به نام مانیتورینگ با تأخیر صفر (Zero-Latency Monitoring) را ارائه می‌دهند که به‌ویژه هنگام ضبط، بسیار مفید است.

این ویژگی با هدایت مستقیم سیگنال ورودی از ورودی کارت صدا به یکی از خروجی‌های آن، مسیر پردازش نرم‌افزاری و بافرهای سیستم را کاملاً دور می‌زند؛ در نتیجه، صدای ورودی تقریباً بدون هیچ‌گونه تأخیر شنیده می‌شود. با این حال، باید توجه داشت که مقدار کل تأخیر فقط ناشی از اندازه بافرها نیست. سیگنال‌های صوتی برای ورود به سیستم و خروج از آن باید از مبدل‌های آنالوگ به دیجیتال (A/D) و دیجیتال به آنالوگ (D/A) عبور کنند، و این فرآیند نیز هرچند بسیار کوتاه، اما همچنان مقداری تأخیر ذاتی (Conversion Latency) به جریان صوتی اضافه می‌کند.

مبدل‌های صوتی معمولاً هرکدام به‌طور جداگانه حدود ۱ میلی‌ثانیه تأخیر ایجاد می‌کنند، اما ممکن است در مسیر عبور سیگنال از کارت صدا، تأخیرهای پنهان دیگری نیز وجود داشته باشد. این تأخیرها اغلب ناشی از فرآیندهایی مانند تبدیل نرخ نمونه‌برداری (Sample Rate Conversion) هستند، به‌ویژه زمانی که نرخ نمونه‌برداری پایین‌تر از ۳۲ کیلوهرتز باشد و توسط مبدل‌های مدرن به‌صورت مستقیم پشتیبانی نشود.

بنابراین، اصطلاح «مانیتورینگ با تأخیر صفر» (Zero-Latency Monitoring) در واقع به‌طور دقیق‌تر معادل حدود ۲ میلی‌ثانیه تأخیر واقعی است؛ مقداری که در اغلب شرایط برای گوش انسان کاملاً غیرقابل تشخیص محسوب می‌شود.

این قابلیت هنگام ضبط بسیار ارزشمند است، زیرا نوازنده می‌تواند اجرای خود را در لحظه و بدون هیچ‌گونه تأخیر محسوس بشنود — به‌ویژه هنگام مانیتورینگ از طریق هدفون که حساسیت به تأخیر بیشتر است.

با این حال، این روش یک محدودیت اساسی نیز دارد: در حالت مانیتورینگ مستقیم، سیگنال ورودی از مسیر نرم‌افزاری عبور نمی‌کند، بنابراین نمی‌توانید افکت‌های پلاگینی را روی صدای مانیتور شده بشنوید. به همین دلیل، امکان افزودن افکت‌هایی مانند ریورب سبک برای خواننده (جهت کمک به کنترل کوک و احساس طبیعی‌تر هنگام اجرا) یا دیستورشن برای گیتاریست‌ها در زمان ضبط از بین می‌رود.

یکی از راه‌حل‌ها این است که از کارت صدایی با افکت‌های DSP داخلی استفاده کنید و افکت‌ها را مستقیماً از طریق آن اعمال کنید. روش دیگر، به‌کارگیری یک واحد سخت‌افزاری خارجی برای افزودن افکت است. در هر دو حالت، معمولاً می‌توان این تجهیزات را به‌گونه‌ای پیکربندی کرد که نوازنده اجرای زنده را با افکت‌ها بشنود، در حالی که ضبط به‌صورت «خشک» (Dry) انجام می‌شود تا در مراحل میکس بعدی، بیشترین انعطاف‌پذیری و کنترل روی صدا وجود داشته باشد.

با این حال، مانیتورینگ با تأخیر صفر برای سینت‌سایزرها یا سمپلرهای نرم‌افزاری قابل استفاده نیست، زیرا خروجی آن‌ها همیشه باید از مجموعه‌ای از بافرهای نرم‌افزاری عبور کند تا به کارت صدا برسد. بنابراین، برای کاهش فاصله زمانی بین فشردن یک نت و شنیدن صدای تولیدشده، لازم است اندازه بافرها تا حد امکان کوچک نگه داشته شود.

محاسبه و ارزیابی تأخیر (Latency) در کارت صداها

برخی تولیدکنندگان کارت صدا فرآیند ارزیابی تأخیر را ساده کرده‌اند و مقدار تأخیر پخش (Playback Latency) را به‌صورت میلی‌ثانیه در نرخ نمونه‌برداری فعلی، مستقیماً در پنل کنترل کارت صدا نمایش می‌دهند — هرچند در برخی موارد ممکن است این اعداد دقیق نباشند. بسیاری از نرم‌افزارهای صوتی نیز امکان نمایش تأخیر را به شما می‌دهند.

اگر نرم‌افزار یا کارت صدای شما اندازه بافر را به صورت تعداد نمونه (Samples) نشان می‌دهد، تبدیل آن به زمان تأخیر کار ساده‌ای است: کافی است عدد ارائه شده را بر تعداد نمونه‌ها در هر ثانیه تقسیم کنید. برای مثال، در یک پروژه با نرخ نمونه‌برداری ۴۴.۱ کیلوهرتز و اندازه بافر معمولی ASIO برابر ۲۵۶ نمونه، تأخیر برابر است با ۲۵۶ ÷ ۴۴۱۰۰ ≈ ۵.۸ میلی‌ثانیه، که معمولاً به ۶ میلی‌ثانیه گرد می‌شود. به همین ترتیب، یک بافر ۲۵۶ نمونه‌ای در پروژه‌ای با نرخ نمونه‌برداری ۹۶ کیلوهرتز، تأخیر ۲۵۶ ÷ ۹۶۰۰۰ ≈ ۲.۶ میلی‌ثانیه خواهد داشت.

بیشتر شما متوجه شده‌اید که افزایش نرخ نمونه‌برداری (Sample Rate) منجر به کاهش تأخیر می‌شود و برخی موسیقیدانان این را دلیل اصلی تغییر نرخ نمونه می‌دانند. با این حال، افزایش نرخ نمونه‌برداری بار پردازشی CPU را نیز به همان نسبت افزایش می‌دهد، زیرا پلاگین‌ها و سینتی‌سایزرهای نرم‌افزاری باید حجم داده‌های بیشتری را در همان بازه زمانی پردازش کنند. نتیجه آن این است که شما تنها قادر خواهید بود نصف تعداد افکت‌ها و نت‌ها نسبت به قبل را اجرا کنید، بنابراین باید این نکته را در برنامه‌ریزی پروژه‌های خود مدنظر داشته باشید.

محاسبه و ارزیابی تأخیر در کارت‌های صدا

تنظیم اندازه بافر کارت صدا نه‌تنها بر تأخیر، بلکه بر بار پردازشی CPU نیز تأثیر مستقیم دارد. درایورهای کارت صدا پیش از پر شدن و پس از خالی شدن بافر، مقداری بار پردازشی مصرف می‌کنند. این بار پردازشی در مقادیر پایین تأخیر اهمیت بیشتری پیدا می‌کند.

برای مثال:

  • بافرهایی با نرخ نمونه‌برداری ۴۴.۱ کیلوهرتز و تأخیر ۱۲ میلی‌ثانیه حدود ۸۶ بار در ثانیه پر و خالی می‌شوند.
  • اگر اندازه بافر به ۶۴ نمونه کاهش یابد تا تأخیر به ۱.۵ میلی‌ثانیه برسد، بافرها حدود ۶۸۹ بار در ثانیه پر و خالی می‌شوند و هر بار، درایور کارت صدا بار پردازشی خود را اضافه می‌کند.

بنابراین، کاهش اندازه بافر و افزایش نرخ نمونه‌برداری باید با دقت و با توجه به توان پردازشی سیستم انجام شود تا عملکرد نرم‌افزار و اجرای زنده تحت تأثیر منفی قرار نگیرد.

صرف‌نظر از بهینه بودن برنامه‌نویسی درایور، کاهش اندازه بافر معمولاً منجر به افزایش چشمگیر بار پردازشی CPU می‌شود، هر چند برخی کارت‌ها با درایورهای بهینه‌تر این افزایش بار را کاهش می‌دهند.

در بیشتر رابط‌های صوتی، هنگامی که تأخیر برابر ۱۲ میلی‌ثانیه یا بیشتر باشد، بار پردازشی تقریباً ثابت و مشابه است. اما در تأخیرهای پایین‌تر، تفاوت‌ها قابل توجه می‌شوند و کارت‌ها و درایورهای مختلف می‌توانند عملکرد بسیار متفاوتی داشته باشند.

علاوه بر این، نوع رابط نیز اهمیت دارد: کارت صداهای USB و FireWire در تأخیرهای پایین معمولاً بار پردازشی بیشتری نسبت به کارت صداهای داخلی PCI یا PCMCIA ایجاد می‌کنند، که این نکته هنگام برنامه‌ریزی پروژه‌ها و اجرای زنده باید مورد توجه قرار گیرد.

مقادیر قابل قبول تأخیر برای کاربردهای مختلف

صدای خواننده (Vocals):
این یکی از چالش‌برانگیزترین موارد است، زیرا خواننده هنگام ضبط، صدای خود را در زمان واقعی از هدفون می‌شنود و همزمان آن را «درون سر خود» نیز احساس می‌کند. حتی تأخیر ۳ میلی‌ثانیه هم در این شرایط می‌تواند آزاردهنده باشد.

درام و پرکاشن (Drums & Percussion):
درامرها معمولاً ترجیح می‌دهند با تأخیر کمتر از ۶ میلی‌ثانیه اجرا کنند، زیرا این میزان پاسخ‌دهی را طبیعی و بی‌درنگ جلوه می‌دهد.

گیتار (Guitars):
گیتاریست‌های الکتریک معمولاً چند فوت از آمپلی‌فایر خود فاصله دارند. با توجه به اینکه سرعت صوت در هوا حدود ۱۰۰۰ فوت بر ثانیه است، هر میلی‌ثانیه تأخیر معادل حدود یک فوت فاصله بیشتر نسبت به منبع صدا محسوب می‌شود. بنابراین، اجرای گیتار در فاصله ۱۲ فوتی از آمپلی‌فایر با تأخیر ۱۲ میلی‌ثانیه نیز معمولاً مشکلی ایجاد نمی‌کند.

کیبوردها (Keyboards):
حتی در پیانوهای آکوستیک نیز بین فشردن کلاویه و برخورد چکش به سیم تاخیر طبیعی اندکی وجود دارد. بنابراین، تأخیر حدود ۶ میلی‌ثانیه برای حساس‌ترین نوازندگان پیانو کاملاً قابل قبول است. گفته شده است که نوازندگانی مانند دانلد فاگن و والتر بکر از گروه Steely Dan قادر به تشخیص اختلاف زمانی ۵ میلی‌ثانیه بوده‌اند، اما برای اکثر نوازندگان، تأخیرهایی تا حدود ۱۰ میلی‌ثانیه معمولاً مشکلی ایجاد نمی‌کند. بسیاری از نوازندگان حتی تأخیرهایی در حدود ۲۳ میلی‌ثانیه یا بیشتر را برای صداهایی با حمله نرم‌تر مانند پدها، کاملاً قابل تحمل می‌دانند.

گزینه‌های درایور

نرم‌افزارهای صوتی اغلب از چندین نوع درایور پشتیبانی می‌کنند و در این صورت، انتخاب مناسب‌ترین درایور اهمیت بالایی دارد. بهترین و کارآمدترین گزینه معمولاً درایورهای ASIO هستند.

درایورهای ASIO معمولاً کمترین میزان تأخیر و بار پردازشی CPU بهینه را ارائه می‌دهند و توسط طیف گسترده‌ای از نرم‌افزارهای میزبان پشتیبانی می‌شوند، از جمله:

  • Cubasis، Cubase، Nuendo، Wavelab از شرکت Steinberg
  • Project5 و Sonar (از نسخه 2.2 به بعد) از شرکت Cakewalk
  • Logic Audio از شرکت Emagic

استفاده از درایور ASIO معمولاً بهترین تجربه کاربری و عملکرد را در اجرای زنده و ضبط فراهم می‌کند.

گزینه‌های درایور

معمولاً نرم‌افزار میزبان یک دکمه با عنوان Control Panel در اختیار کاربر قرار می‌دهد که با فشردن آن، ابزار تنظیمات اختصاصی کارت صدا اجرا می‌شود.

در این پنل، معمولاً چند اندازه بافر از پیش تعیین‌شده برای ASIO وجود دارد که می‌توان یکی از آن‌ها را انتخاب کرد. در بیشتر موارد، پخش صدا بلافاصله پس از باز شدن این پنل متوقف می‌شود تا امکان تغییر اندازه بافر فراهم شود. با این حال، برخی کارت‌های صدا تغییرات جدید را تنها زمانی اعمال می‌کنند که نرم‌افزار میزبان بسته و دوباره اجرا شود.

کاربرانی که ازTascam Gigastudio  استفاده می‌کنند، نیاز به درایورهای GSIF دارند. این درایورها معمولاً دارای تأخیر ثابتی بین ۶ تا ۹ میلی‌ثانیه هستند که مقدار نسبتاً کمی است و به همین دلیل، بدون نیاز به تنظیمات اضافی، از همان ابتدا عملکرد مطلوبی ارائه می‌دهند.

از سوی دیگر، درایورهای WDM نیز در برخی نرم‌افزارها — به‌ویژه Sonar —  می‌توانند عملکرد بسیار خوبی داشته باشند. با این حال، برای رسیدن به حداقل میزان تأخیر (Latency)، معمولاً نیاز به تنظیمات بیشتری دارند، زیرا در این حالت می‌توان تعداد بافرها و اندازه آن‌ها را به‌صورت دستی تعیین کرد. محل و نحوه انجام این تنظیمات بسته به نرم‌افزار مورد استفاده متفاوت است و باید با دقت تنظیم شود تا عملکرد بهینه حاصل شود.

اگر کارت صدای شما تنها از درایورهای WDM پشتیبانی می‌کند و عملکرد آن رضایت‌بخش نیست، اما نرم‌افزار شما ASIO را پشتیبانی می‌کند، می‌توانید از درایور رایگان ASIO4ALL توسعه‌ی  Michael Tippach استفاده کنید. این ابزار در واقع یک لایه‌ی ASIO عمومی است که روی درایور WDM موجود نصب می‌شود و پشتیبانی کامل از ASIO را فراهم می‌کند. در بسیاری از موارد، استفاده از آن می‌تواند باعث کاهش محسوس تأخیر صدا شود.

درایورهای DirectSound معمولاً در پخش صدا عملکرد مناسبی دارند، اما به‌ندرت در ضبط همان کیفیت را ارائه می‌دهند. بنابراین، در صورت در دسترس نبودن ASIO یا WDM، استفاده از DirectSound می‌تواند گزینه‌ای مناسب برای اجرای سینت‌سایزرهای نرم‌افزاری باشد.

در نهایت، برخی نرم‌افزارها مانند Sound Forge تنها از درایورهای MME پشتیبانی می‌کنند. حتی اگر در تنظیمات نرم‌افزار (بخش Wave در مسیرOptions > Preferences ) اندازه بافر را روی حداقل مقدار ۹۶ کیلوبایت قرار دهید، در برخی شرایط همچنان تأخیر قابل توجهی در صدا قابل شنیدن خواهد بود.

نکات مربوط به کاهش تأخیر در کارت صداها

  • اگر در نرم‌افزارهایی مانند Gigastudio، HALion یا Kontakt نمونه‌ها را مستقیماً از هارد دیسک پخش می‌کنید، استفاده از هاردی با زمان دسترسی پایین (Low Access Time) می‌تواند به کاهش حداقل میزان تأخیر کمک کند.
  • در زمان پخش و میکس، تأخیر بیشتر به این معناست که پس از فشردن دکمه‌ی پخش، چه مدتی طول می‌کشد تا واقعاً صدای آهنگ را بشنوید. در این شرایط، حتی فاصله‌ای حدود ۱۰۰ میلی‌ثانیه معمولاً برای اکثر کاربران قابل توجه نیست و مشکلی ایجاد نمی‌کند.
  • اگر از نرم‌افزارهای پری‌مسترینگ مانند Wavelab یا Sound Forge استفاده می‌کنید، معمولاً نیازی به تأخیر پایین نیست. حتی زمانی که بین تغییر پارامترهای پلاگین و شنیدن نتیجه‌ی صوتی تاخیر ۱۰۰ میلی‌ثانیه یا بیشتر وجود داشته باشد، اکثر کاربران آن را متوجه نمی‌شوند. تنها زمانی که تأخیر بالا ممکن است مشکل‌ساز شود، هنگام بای‌پس کردن پلاگین (A/B Switching) است، زیرا تغییر باید دقیقاً با کلیک روی دکمه Bypass رخ دهد؛ با این حال، حتی در این شرایط اکثر افراد تاخیر ۲۳ میلی‌ثانیه را هم متوجه نخواهند شد.
  •  اگر از کنترلر سخت‌افزاری MIDI برای اتوماسیون استفاده می‌کنید، معمولاً نیازی به تأخیر پایین نیست. با این حال، هنگام وارد کردن تغییرات واقعی سینتی‌سایزر، مانند Sweeps سریع فیلتر، داشتن تأخیر پایین ترجیح داده می‌شود تا پاسخگویی رابط بین کنترل‌های فیزیکی و مجازی حداکثر باشد.
  •  در هنگام مانیتورینگ وکال، می‌توانید از مانیتورینگ «بدون تأخیر» برای سیگنال اصلی استفاده کنید و هم‌زمان با اعمال ریورب پلاگین با تأخیر ۲۳ میلی‌ثانیه یا بیشتر نیز مشکلی نخواهید داشت، مشروط بر اینکه اثر کاملاً Wet باشد.
نمونه‌هایی از تنظیمات در نرم‌افزارهای صوتی

هر نرم‌افزار صوتی محل تنظیمات درایور و اندازه بافر را کمی متفاوت قرار داده است، اما معمولاً منوهایی با عناوین Audio، Preferences یا Setup نقطه شروع مناسبی برای جستجو هستند.

Sonar:
نرم‌افزار Sonar هنگام اولین اجرا، از ابزار Wave Profiler (WDM Kernel Streaming) استفاده می‌کند تا اندازه بهینه بافرها را در تمام نرخ‌های نمونه‌برداری موجود تعیین کند. این ابزار را می‌توان هر زمان با کلیک روی دکمه Wave Profiler در صفحه General از Audio Options دوباره اجرا کرد.

  • این تنظیمات درایورهای MME و WDM را برای تأخیر ایمن و محافظه‌کارانه آماده می‌کند.
  • مقدار فعلی تأخیر را می‌توان زیر اسلایدر Buffer Size در بخش Mixing Latency مشاهده کرد.
  • تقریباً همیشه می‌توان این اسلایدر را به سمت چپ حرکت داد تا تأخیر کاهش یابد (معمولاً تا حدود ۹۹ میلی‌ثانیه).
  • همچنین می‌توان مقدار Buffers in Playback Queue را کاهش داد، اگر روی حداقل مقدار پیش‌فرض تنظیم نشده باشد.

پس از تغییر مقدار اسلایدر، پنجره Audio Options را ببندید، پخش آهنگ جاری را دوباره آغاز کنید و به کلیک‌ها و پرش‌های صدا توجه کنید و مقدار CPU meter را نیز بررسی کنید. تجربه نشان می‌دهد که این تنظیمات می‌توانند تأخیر را تقریباً از ۱۲ میلی‌ثانیه تا ۳ میلی‌ثانیه دو برابر کنند، بسته به اندازه بافر و بار پردازشی سیستم.

اگر ترجیح می‌دهید از درایورهای ASIO در Sonar استفاده کنید، مراحل زیر را دنبال کنید:

  1. در صفحه Advanced Audio Options، بخش Playback and Recording، مقدار Drive Mode را از WDM/KS به ASIO تغییر دهید.
  2. سپس Sonar را بسته و دوباره اجرا کنید تا تغییر اعمال شود.

پس از این کار:

  • گزینه Mixing Latency در Audio Options غیرفعال می‌شود.
  • با کلیک روی دکمه ASIO Panel، می‌توانید کنترل پنل کارت صوتی خود را باز کنید.
  • پس از بستن پنجره، تغییرات بلافاصله اعمال می‌شوند، اما مقدار Effective Latency در Audio Options تنها در باز کردن بعدی پنجره به‌روزرسانی می‌شود.

بر اساس آزمایش‌های انجام شده با CPU meter در Sonar، درایورهای ASIO معمولاً در تأخیرهای کمتر از حدود ۱۲ میلی‌ثانیه بار پردازشی کمتری نسبت به نمونه‌های WDM ایجاد می‌کنند، که باعث بهبود عملکرد سیستم در ضبط و اجرای زنده می‌شود.

Cubase SX 3:

  1. از منوی Device روی Device Setup کلیک کنید.
  2. در ستون سمت چپ، VST Audiobay را انتخاب کنید (در SX 1 و 2، VST Multitrack).
  3. نوع ASIO driver را از منوی کشویی بالای سمت راست انتخاب کنید.
    • بهترین گزینه یک ASIO driver واقعی است، مانند ASIO Echo WDM یا EMU ASIO.
  4. پس از انتخاب درایور، اندازه Buffer Size مناسب را می‌توان با کلیک روی نام درایور در ستون سمت چپ و سپس دکمه Control Panel تعیین کرد.
  • درایور ‘ASIO Multimedia’ معمولاً گزینه ضعیفی است، زیرا نیاز به تنظیم دستی تعداد و اندازه بافرها از طریق Advanced Options دارد و همواره تأخیر بالاتری ایجاد می‌کند. برای مثال، با سه بافر ۱۰۲۴ نمونه‌ای، تأخیر پخش حدود ۹۳ میلی‌ثانیه خواهد بود.
  • گزینه مناسب‌تر، ‘ASIO DirectX Full Duplex Driver’ است که با یک بافر ۷۶۸ نمونه‌ای تأخیر پخش را به حدود ۱۷ میلی‌ثانیه کاهش می‌دهد.

Wavelab:

  1. از منوی Options روی Preferences کلیک کنید و سپس تب Audio Card را انتخاب کنید.
  2. در این بخش می‌توان درایورهای مختلف را برای Playback و Recording انتخاب کرد، که در صورت نصب چند کارت صوتی روی سیستم مفید است.
    • توجه داشته باشید که این موضوع تنها برای گزینه‌های MME-WDM صادق است؛ انتخاب هر درایور ASIO برای پخش، گزینه‌های ضبط را غیرفعال می‌کند.
  3. برخلاف معمول، انتخاب ASIO همچنان امکان تعیین تعداد بافرها را می‌دهد، بنابراین برای دستیابی به کمترین تأخیر، این مقدار را روی حداقل (سه بافر) تنظیم کنید.

گزینه‌های MME-WDM و تأثیر بر تأخیر

به‌طور پیش‌فرض، گزینه‌های MME-WDM شامل شش بافر با اندازه هرکدام ۱۶۳۸۴ بایت هستند، که در نرخ نمونه‌برداری ۴۴.۱ کیلوهرتز باعث ایجاد تأخیر بسیار زیاد ۵۵۷ میلی‌ثانیه می‌شود. معمولاً می‌توان این مقدار را به چهار بافر ۱۶۳۸۴ بایتی کاهش داد که تأخیر را به حدود ۳۷۱ میلی‌ثانیه می‌رساند بدون اینکه مشکل جدی پیش آید.

کاهش بیشتر ممکن است پخش صدا را بدون مشکل کند، اما هنگام باز کردن منوهای کشویی پلاگین‌ها در Master Section، پرش و لگ مشاهده شود.

برخی کارت‌ صداها مانند Echo Mia می‌توانند پنج بافر ۴۰۹۶ بایتی را مدیریت کنند، که تأخیر حدود ۱۱۶ میلی‌ثانیه ایجاد می‌کند و برای اکثر کارهای مسترینگ کافی است. با این حال، در صورت امکان، انتخاب درایورهای ASIO همیشه گزینه مناسب‌تری است.

سینت‌سایزرهای نرم‌افزاری Native Instruments

اکثر سینت‌های Native Instruments می‌توانند هم به‌صورت VST یا DX Instruments داخل نرم‌افزار میزبان سازگار اجرا شوند و هم به‌صورت مستقل با استفاده از درایورهای ASIO، DirectSound یا MME.

در صورتی که DirectSound یا MME انتخاب شوند، یک لغزنده Play Ahead برای تنظیم کمترین تأخیر وجود دارد. بسیاری از کارت‌ها کمترین مقدار MME یعنی حدود ۱۰ میلی‌ثانیه را در ویندوز ۹۸SE مدیریت می‌کنند، اما در ویندوز XP معمولاً مقدار ۴۰ میلی‌ثانیه است. درایورهای DirectSound معمولاً تأخیر ۲۵ میلی‌ثانیه یا کمتر ارائه می‌دهند که در اکثر شرایط کاملاً قابل قبول است.

بهترین زمان تاخیر در کارت صدا

بهترین اندازه‌ی بافر برای سیستم شما سؤال ساده‌ای نیست. اگر بیشتر از سینت‌ها و سمپلرهای نرم‌افزاری استفاده می‌کنید یا گیتار الکتریک ضبط می‌کنید، تأخیر ۶ میلی‌ثانیه با ASIO یا WDM/KS (۲۵۶ نمونه در ۴۴.۱ کیلوهرتز) به‌احتمال زیاد کافی است و تقریباً غیرقابل تشخیص بوده و فشار زیادی به CPU وارد نمی‌کند. با این حال، اگر جزو آن دسته از موسیقیدانانی هستید که تأخیر ۱۲ میلی‌ثانیه را متوجه نمی‌شوند، استفاده از بافر ۵۱۲ نمونه در ۴۴.۱ کیلوهرتز احتمالاً امکان اجرای همزمان نت‌ها و پلاگین‌های بیشتری را فراهم می‌کند.

بهترین روش برای تعیین میزان تأخیر این است که ابتدا مقدار حدود ۲۳ میلی‌ثانیه (بافر ۱۰۲۴ نمونه در ۴۴.۱ کیلوهرتز) را تنظیم کنید. سپس یک صدای سینت نرم‌افزاری با سریع‌ترین حمله ممکن را انتخاب کنید، زیرا صدای پدهای با حمله کند را می‌توان حتی با تأخیر بیش از یک ثانیه نیز اجرا کرد. هنگام اجرای نت‌ها به‌صورت بلادرنگ از روی کیبورد MIDI بررسی کنید که آیا تأخیری قبل از شروع هر نت احساس می‌کنید یا خیر. اگر متوجه تأخیر نشدید، جای نگرانی نیست. اما اگر تأخیر قابل توجه یا آزاردهنده بود، بافر را به اندازه بعدی پایین‌تر کاهش داده و دوباره تست کنید تا به میزان تأخیر مناسب برای خود برسید. این روش باعث می‌شود سیستم پردازشی شما به‌خاطر بافرهای بسیار کوچک به‌طور غیرضروری درگیر نشود.

صرف‌نظر از مقدار تأخیری که انتخاب می‌کنید، در هنگام مانیتورینگ زنده‌ی وکال‌ها ممکن است نیاز باشد برای استفاده از افکت‌های پلاگین به‌صورت زنده، از مقدار تأخیر پایین‌تری استفاده کنید. برای این کار، ابتدا در نرم‌افزار صوتی خود بافر را روی مقدار بالاتر (حدود ۲۳ میلی‌ثانیه) تنظیم کرده و پخش یک پروژه‌ی موجود را آغاز کنید. میزان استفاده از CPU را از طریق نشانگر مربوطه مشاهده و یادداشت کنید. سپس مقدار بافر را یک مرحله کاهش دهید و مجدداً پخش را امتحان کنید. اگر هنوز صدایی از کلیک یا پاپ شنیده نمی‌شود، این فرایند را ادامه دهید تا زمانی که علائم نویز یا قطع‌ و وصلی ظاهر شوند.

در صورتی که خوش‌شانس باشید، ممکن است این مشکل تا تأخیری حدود ۳ میلی‌ثانیه یا کمتر رخ ندهد و حتی در پایین‌ترین مقدار بافر قابل تنظیم کارت صدا نیز پایدار باقی بماند. اما به‌محض شنیدن هرگونه کلیک، بافر را یک مرحله افزایش دهید تا به پایین‌ترین مقدار کاملاً پایدار برسید. در همین حین، افزایش مصرف CPU نسبت به حالت ۲۳ میلی‌ثانیه‌ای را نیز بررسی کنید؛ اگر میزان آن به‌طور قابل توجهی افزایش یافته باشد، بهتر است این مقدار تأخیر پایین را فقط هنگام ضبط و مانیتورینگ زنده استفاده کرده و در سایر مواقع به تنظیمات تأخیر بالاتر برای پخش معمولی بازگردید.

در هنگام کاهش مقدار بافر در درایورهای ASIO یا WDM، معمولاً تنها مشکلی که ممکن است با آن مواجه شوید، ایجاد صداهای نامطلوب یا گلیچ‌های صوتی است. با این حال، در استفاده از درایورهای MME و DirectSound، احتمال بروز اختلالات شدید در شکل موج صدا (Waveform Breakup) وجود دارد که حتی ممکن است باعث کرش کردن سیستم شود. بنابراین، هنگام تنظیم مقدار بافر این درایورها به کمتر از حدود ۴۰ میلی‌ثانیه، باید با احتیاط عمل کنید. مقدار بافر را در گام‌های کوچک تغییر دهید و به محض مشاهده‌ی اولین نشانه‌های گلیچ یا اختلال صوتی، تغییر را متوقف کنید.

بسیاری از موسیقی‌دانان از رویکرد دو مرحله‌ای استفاده می‌کنند:

  • در مرحله ضبط صدا از تأخیر پایین بهره می‌برند،
  • و در مرحله ضبط سازهای نرم‌افزاری (Soft Synths)، پخش و میکس نهایی، از تأخیری متعادل‌تر استفاده می‌کنند تا بتوانند پلاگین‌های بیشتری اضافه کنند.

اگرچه ممکن است این فرآیندها پیچیده به نظر برسند، انجام آن‌ها معمولاً کمتر از یک ساعت طول می‌کشد و تنها یک‌بار برای هر ترکیب از کارت صدا، نسخه‌ی درایور و سیستم کامپیوتر لازم است.

پس از تعیین مناسب‌ترین مقدار تأخیر برای پخش و کمترین مقدار تأخیر ممکن برای سیستم خود، می‌توان اطمینان داشت که بیشترین بهره‌وری از پردازنده در تمام شرایط کاری حاصل شده است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *