یکی از مواردی که در دنیای رو به رشد موسیقی دیجیتال بسیار حائز اهمیت است، دستیابی به بهترین کیفیت صوتی ممکن میباشد. در همین راستا، یکی از عواملی که تاثیر به سزایی بر کیفیت صدا داشته و اغلب اوقات به آن توجهی نمیشود، نقش گزینه dithering است. از همین رو، در این مطلب به بررسی دقیقتر این موضوع میپردازیم که dithering چیست، از چه لحاظ حائز اهمیت بوده، و بایدها و نبایدهای کاربرد آن را خواهیم آموخت.
در ادامه با سازکالا همراه باشید.
یکی از سوالاتی که همواره ذهن موزیسینها و آهنگسازان را به خود مشغول کرده، علت استفاده از dithering و نحوه کاربرد آن بوده است. به زبان سادهتر، تنها زمانی از dithering استفاده میکنیم که هنگام خروجی گرفتن از موسیقی، نیاز باشد که وضوح بیت آن را کاهش دهیم. برای مثال، زمانی که یک قطعه موسیقی را بر روی سی دی رایت میکنیم، ناخواسته وضوح بیت آن از مثلا ۲۴ بیت به ۱۶ بیت کاهش پیدا کرده و در این میان ۸ بیت از وضوح و عمق آن کاسته میشود. این کاهش بیت را میتوان با dithering جبران نمود تا کیفیت صدای موسیقی دچار افت نگردد.
خطای گرد کردن (Rounding Errors)
یکی از مشکلاتی که هنگام پردازش صدای دیجیتال با آن مواجه میشویم خطای گرد کردن یا خطای نمایش اعداد است که اغلب نادیده گرفته میشود. میدانیم که در دنیای تئوری، پردازش صوتی را کاملا دقیق و حساب شده و بدون افت کیفیت در نظر میگیرند. در حالیکه در عمل این موضوع با افت کیفیت همراه بوده و محدودیتهایی بر سر راه وجود دارد. این محدودیتها ناشی از ماهیت فناوری دیجیتال است، چرا که در دنیای دیجیتال، با مقادیر محدود و گسسته ای سروکار داریم.
از طرفی، یکی از عناصر اصلی دنیای موسیقی تبدیل سیگنالهای آنالوگ به دیجیتال و بالعکس است؛ به بیان دیگر، سیگنالهای آنالوگ مقادیری نامحدود و پیوسته بوده، درحالیکه سیگنالهای دیجیتال محدود و گسسته به شمار میروند. بنابراین، هنگام تبدیل سیگنالهای پیوسته و نامحدود آنالوگ به سیگنالهای گسسته و محدود دیجیتال، با کاهش عمق بیت و وضوح آن مواجه خواهیم شد. که در تئوری به آن کوانتش (Quantization) گفته میشود. به عبارتی، در تئوری موسیقی به فرآیند تبدیل مجموعه ای بزرگ و پیوسته از سیگنالهای ورودی به مجموعه ای کوچک و محدود از سیگنالهای خروجی کوانتش گفته میشود، که خطای گرد کردن یکی از این موارد است.
خطای گرد کردن زمانی رخ میدهد که سیگنال صوتی با بیت بالا را به سیگنال صوتی با بیت پایینتر تبدیل میکنیم (تبدیل آنالوگ به دیجیتال). در چنین مواقعی با کاهش عمق بیت مواجه خواهیم شد. این موضوع منجر به ایجاد نویز کوانتش میگردد، نویزی که موجب افت کیفیت صوتی خواهد شد.
این اتفاق بیشتر در طول فرآیند میکس و مسترینگ رخ میدهد؛ برای نمونه، همانطور که قبلا اشاره شد، زمانی که میخواهیم فایل نهایی قطعه صوتی را روی سی دی رایت کنیم، با کاهش عمق بیت از ۲۴ بیت به ۱۶ بیت مواجه میشویم. اما این کاهش عمق بیت را چگونه میتوان جبران کرد؟ در اینجاست که مفهوم dithering مطرح میشود.
راه حل این مسئله: dithering
خبر خوب این است که راه حل مناسبی برای جبران این افت کیفیت صوتی وجود دارد: dithering. درواقع، dithering به فرآیندی گفته میشود که برای به حداقل رساندن خطاهای کوانتش، عمداً به سیگنالهای صوتی نویز اضافه میشود. شاید در ابتدا این امر کمی عجیب و متناقض به نظر برسد. زیرا دیده ایم که موزیسینها و آهنگسازان همواره به دنبال راهی برای کاهش نویز هستند. اما در ادامه ی این مطلب خواهیم دید که چرا به این نویز تصادفی برای پوشش دینامیک از دست رفته و دیستورشن ناشی از خطای کوانتش نیاز داریم. این نویز کاملا کنترل شده است و تقریبا غیرقابل شنیدن میباشد.
اعمال گزینه dithering موجب به وجود آمد نویزهای تصادفی بر روی امواج سیگنال میگردد که دینامیک از دست رفته ناشی از کاهش عمق بیت را پوشش میدهد. بنابراین، امواج سیگنالی که پس از کاهش بیت، ناهموار و متغیر شده اند، به کمک این نویز مصنوعی هموارتر شده و نتیجه ی نهایی بازتولید صدایی نرم و طبیعی نزدیک به صدای اصلی ضبط شده است که کاملا طبیعی به گوش میرسد.
بیت ریت های مختلف (عمق بیت)
در دنیای دیجیتال بیت ریتهای مختلفی وجود دارد که رایجترین آنها ۱۶ بیت، ۲۴ بیت، و ۳۲ بیت میباشد. هر بیت ریت دربردارنده محدوده دینامیکی و نوسان نویز متفاوتی است. به عبارتی، هرچه عمق بیت (بیت ریت) بیشتر باشد، دامنه دینامیکی آن بیشتر بوده و نویز کوانتش آن کمتر میشود.
همانطور که قبلا اشاره شد، خطاهای کوانتش زمانی رخ میدهد که عمق بیت سیگنال صوتی کاهش یابد، به عبارتی، تعداد مقادیر گسسته موجود که امواج سیگنال را به شکلی هموار و نرم نمایش میدهند، کاهش یافته و امواج ناهموار و دچار دیستورشن میگردند.
در یک سیگنال صوتی دیجیتال، هر “بیت” بیانگر یک “سطح” از صداست. در بیت ریت یک سیگنال ۲۴ بیتی، بیش از ۱۶ میلیون سطح صدا وجود دارد. زمانی که عمق بیت یک سیگنال صوتی را به ۱۶ بیت کاهش میدهیم، شاهد حذف ۸ بیت از اطلاعات اصلی هستیم. این کاهش عمق بیت منجر به بروز خطاهای کوانتش میگردد که میتوان با اعمال گزینه dithering آن را جبران نمود.
کاربرد dithering در مرحله مسترینگ
گزینه dithering زمانی بکار میرود که پس از تولید قطعه موسیقی موردنظر میخواهیم از آن خروجی بگیریم (مرحله مسترینگ) و میبایست فایل صوتی را از ۲۴ بیت به ۱۶ بیت تبدیل کنیم.
در این مرحله، با اعمال یک الگوریتم dithering مناسب، نویز موردنظر را به گونه ای تنظیم میکنیم که کمتر از آستانه شنوایی انسان بوده و سیگنال اصلی را بدون هیچگونه تداخلی تقویت نماید، طوریکه اصلا متوجه آن نخواهیم شد.
الگوریتم های dithering
برای این منظور، الگوریتمهای مختلفی از dithering وجود دارد که هر یک از آنها، به روش متفاوتی نویز مورد نظر را تولید کرده و روی سیگنال صوتی توزیع میکنند. تفاوت این الگوها در میزان و نحوه توزیع نویز میباشد. در ادامه، به سه مورد از رایجترین روشهای dithering خواهیم پرداخت:
الگوریتم dither مستطیلی
این الگوریتم جزو سادهترین انواع dithering محسوب میشود که نویز ساده و یکنواختی به سیگنال صوتی اضافه میکند. این الگوریتم در میان سایر الگوریتمها کمترین تاثیر را بر روی خطاهای کوانتش داشته و در مواردی کاربرد دارد که عمق بیت کاهش یافته بسیار کم است و میزان دینامیک از دست رفته جزئی میباشد.
الگوریتم dither مثلثی
این الگوریتم یک نویز تصادفی و یکنواخت را به سیگنال صوتی اضافه میکند. الگوریتم مثلثی نسبت به الگوریتم مستطیلی پیچیدهتر بوده و تاثیر بیشتری بر روی خطاهای کوانتش دارد. dither مثلثی استانداردترین نوع الگوریتم محسوب میشود که بصورت پیش فرض در بسیاری از نرم افزارهای صوتی بکار میرود.
الگوریتم dither مبتنی بر فرم نویز
این الگوریتم جزو پیشرفتهترین انواع dithering به شمار میرود. در این نوع dithering، امواج نویزی که به سیگنال صوتی اضافه میشود را با محدوده فرکانسی که کمتر از آستانه شنوایی انسان است تطابق میدهیم. بنابراین به هیچ وجه قابل شنیدن نخواهد بود. در این الگوریتم نیز، روشهای مختلفی برای تغییر شکل امواج نویز وجود دارد.
نحوه کاربرد dithering
زمانی که از فایل نهایی خود در نرم افزار DAW رندر میگیرید، گزینههای متفاوتی از dithering به کاربر ارائه میشود. به عنوان مثال، در نرم افزار Ableton Live تنظیمات “Dither Options” وجود دارد.
این تنظیمات در صورتی به کاربر نمایش داده میشود که هنگام گرفتن خروجی از فایل صوتی، با کاهش عمق بیت مواجه شود. در چنین شرایطی، میتوانید از بین گزینههای مختلف dithering، الگوریتم موردنظر خود را انتخاب کنید.
علاوه بر این، پلاگینهایی هم وجود دارند که با ارائه گزینههای مختلف، الگوریتم dithering مناسب را به کاربر پیشنهاد میدهند. شناخته شدهترین این پلاگینها، iZotope Maximizer است که در نرم افزار مسترینگ Ozone Suite ارائه شده و انواع گزینههای dithering را در اختیار کاربر قرار میدهد.
بایدها و نبایدهای dithering
اگرچه dithering در اکثر مواقع نتیجه مثبت داشته و دینامیک از دست رفته سیگنال صوتی را پوشش میدهد، اما کاربرد آن در برخی موارد نه تنها ضروری نبوده بلکه ممکن است نتیجه عکس داشته باشد.
به عنوان مثال، در صورتی که هنگام گرفتن خروجی از فایل نهایی، با کاهش عمق بیت مواجه نیستید، نیازی به اعمال تنطیمات dithering نخواهید داشت.
در شرایطی که قطعه موسیقی موردنظرتان نهایی نشده و نیاز است تا توسط شخص دیگری (مهندس مسترینگ) مورد ادیت و تدوین مجدد قرار بگیرد، به هیچ وجه نباید dithering انجام داد. این الگوریتم تنها در مرحله آخر مسترینگ و هنگام گرفتن خروجی از فایل نهایی اعمال خواهد شد.
علاوه بر اینها، اعمال تنظیمات dithering بر روی فایل نهایی بیش از یک بار و توسط نرم افزارهای مختلف، نه تنها موجب انباشته شدن نویزهای اضافی شده، بلکه با افت شدید کیفیت صوتی نیز مواجه خواهید شد.
بنابراین، با توجه به مواردی که در این مطلب ارائه شد، توجه داشته باشید که تنظیمات dithering زمانی اعمال میشود که در مرحله مسترینگ نهایی هستید و میخواهید از فایل نهایی خروجی بگیرید و با کاهش عمق بیت مواجه میشوید. عدم رعایت هر یک از این موارد و Dithering بیش از حد سیگنالهای صوتی، تنها موجب افت کیفیت فایل شده و هیچ نفعی در بر نخواهد داشت.
مطلب پیشنهادی: نویز گیت چیست