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

Oversampling چیست و چه زمانی باید از آن استفاده کنیم؟

Oversamplingچیست و چه زمانی باید از آن استفاده کنیم؟

در این مقاله بررسی می‌کنیم که چرا پدیده‌ی Aliasing در پلاگین‌ها همیشه مشکل‌ساز نیست و چرا Oversampling همیشه بهترین راه‌حل محسوب نمی‌شود.

موضوعاتی مانند Aliasing و Oversampling در انجمن‌های تخصصی، بازاریابی محصولات و آموزش‌های ویدئویی به‌وفور مورد بحث قرار می‌گیرند. Aliasing یک پدیده‌ی ناخواسته و ناخوشایند در فرآیند نمونه‌برداری صدا است؛ در مقابل، Oversampling روشی برای افزایش نرخ نمونه‌برداری محسوب می‌شود که می‌تواند به کاهش این مشکل کمک کند. بسیاری از منابع توصیه می‌کنند هر زمان که توان پردازشی سیستم اجازه دهد، Oversampling را به حداکثر برسانید. اما واقعیت این است که Oversampling همیشه به یک شکل عمل نمی‌کند، در همه‌ی شرایط ضروری نیست و حتی در برخی مواقع می‌تواند مشکلاتی در میکس ایجاد کند. هدف این مقاله آن است که روشن سازد در چه شرایطی استفاده از Oversampling انتخاب درستی است و چه چالش‌هایی ممکن است به همراه داشته باشد.

Aliasing در صدای دیجیتال چیست؟

Aliasing نوعی دیستورشن (Distortion) در صدای دیجیتال است. این پدیده زمانی رخ می‌دهد که بخواهید فرکانس‌هایی را ضبط یا اضافه کنید که بالاتر از محدوده‌ی نرخ نمونه‌برداری (Sample Rate) پروژه‌ی شما هستند. در چنین شرایطی، این فرکانس‌های بالا از فرکانس نایکوئیست (Nyquist Frequency) ــ که بالاترین فرکانسی است که در نرخ نمونه‌برداری قابل نمایش است ــ بازتاب می‌شوند یا به اصطلاح «Fold Back» می‌زنند و دوباره به سمت صفر حرکت می‌کنند، سپس دوباره بالا می‌روند و این چرخه ادامه پیدا می‌کند.

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

Aliasing در صدای دیجیتال چیست؟

Aliasing در پلاگین‌های صوتی

در پلاگین‌های صوتی، Aliasing زمانی رخ می‌دهد که محاسبات ریاضی پلاگین به‌صورت غیرخطی (Non-Linear) انجام می‌شود. این حالت شکل موج را تغییر داده و انرژی صوتی جدیدی در طیف فرکانسی بالاتر از صدای اصلی ایجاد می‌کند. به این انرژی صوتی، Harmonic Distortion گفته می‌شود.

Harmonic Distortion در محدوده‌ی زیر فرکانس نایکوئیست (Nyquist) معمولاً خوشایند است و حتی می‌تواند هدف اصلی طراحی یک پلاگین باشد؛ برای مثال در پلاگین‌های Saturation. اما زمانی که این دیستورشن هارمونیک از مرز نایکوئیست عبور کند، نرخ نمونه‌برداری دیگر قادر به بازنمایی دقیق آن نخواهد بود و نتیجه، ایجاد Aliasing است که به‌طور دائمی روی سیگنال صوتی حک می‌شود.

وقتی Aliasing در محدوده‌ی شنیداری قرار گیرد، به‌صورت نویزی ناخوشایند شنیده می‌شود، زیرا برخلاف هارمونیک‌های واقعی، با محتوای اصلی رابطه‌ی هارمونیک ندارد.

چرا Aliasing همیشه مشکل‌ساز نیست؟

در یک پلاگین واحد، Aliasing همیشه مسئله‌ای جدی محسوب نمی‌شود، زیرا در بسیاری موارد شدت آن آن‌قدر پایین است که قابل شنیدن نیست. بیشتر انرژی صوتی در موسیقی و صدا در محدوده‌ی فرکانس‌های پایین (Low End) و میانی (Midrange) متمرکز است. از سوی دیگر، هرچه مرتبه‌ی هارمونیک‌های ایجادشده بالاتر باشد، شدت آن‌ها ضعیف‌تر خواهد بود.

به همین دلیل، برای اینکه هارمونیک‌ها به فرکانس نایکوئیست برسند، لازم است اعوجاج بسیار زیادی در محدوده‌ی فرکانس‌های پایین و میانی ایجاد شود، که در مسیر خود به‌طور چشمگیری ضعیف می‌شوند. در حالی که انرژی فرکانسی بالا (High-End) از ابتدا به نایکوئیست نزدیک‌تر است، سطح شدت آن نیز ذاتاً بسیار پایین است.

بنابراین، برای اینکه Aliasing به‌طور محسوس شنیده شود، یا باید شدت آن به‌طور غیرمعمول زیاد باشد، یا محتوای صوتی حاوی مقدار غیرعادی از انرژی در محدوده‌ی فرکانس‌های بالا باشد.

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

Oversampling چگونه به بهبود صدا کمک می کند؟

Oversampling روشی است که توسعه‌دهندگان پلاگین‌ها برای کاهش Aliasing به‌کار می‌برند. فرض کنید در یک پروژه با نرخ نمونه‌برداری ۴۸ کیلوهرتز کار می‌کنید. در این نرخ، صدا از ۲۴ کیلوهرتز (فرکانس نایکوئیست) شروع به ایجاد Aliasing می‌کند. پلاگین با استفاده از مجموعه‌ای از فیلترها و تکنیک‌ها سیگنال را با نرخ بسیار بالاتر، مثلاً ۱۹۲ کیلوهرتز، بازنمایی می‌کند. در این حالت، فرکانس نایکوئیست به ۹۶ کیلوهرتز منتقل می‌شود و «فضای فرکانسی» بیشتری ایجاد می‌شود، به‌طوری که انرژی صوتی بالای این محدوده غالباً آن‌قدر ضعیف است که حتی در مجموع شنیده نمی‌شود.

پس از انجام محاسبات غیرخطی، پلاگین از یک فیلتر Low-Pass برای حذف تمام فرکانس‌هایی که بالاتر از فرکانس نایکوئیست اصلی (۲۴ کیلوهرتز) هستند استفاده می‌کند و سپس سیگنال را به نرخ نمونه‌برداری ۴۸ کیلوهرتز بازمی‌گرداند. نتیجه: کاهش قابل توجه اعوجاج ناشی از Aliasing.

Oversampling چگونه به بهبود صدا کمک می کند

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

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

بررسی تاثیر Aliasing در پروژه‌های صوتی

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

یکی از ساده‌ترین روش‌ها برای تشخیص نیاز به Oversampling، پخش سیگنال از طریق زنجیره‌ی پلاگین‌ها و مقایسه‌ی کیفیت صدا با حالت فعال و غیرفعال بودن Oversampling است )روش .(A/B این کار امکان می‌دهد تأثیر Oversampling بر سیگنال را به‌طور دقیق بررسی کرد و تنها در مواقع ضروری از آن استفاده نمود.

1. دو کانال جداگانه ایجاد کنید که هر دو شامل همان پلاگین‌ها باشند.
۲. در یکی از کانال‌ها Oversampling را در تمام پلاگین‌های دارای این قابلیت فعال کرده و در کانال دیگر غیرفعال نگه دارید.
۳. همان سیگنال صوتی را از طریق هر دو کانال عبور دهید تا تفاوت کیفیت صدا مشخص شود.

۴. کانال‌ها را به‌صورت تکی (Solo) پخش کنید و تفاوت‌ها را مقایسه نمایید. استفاده از روش Null Test با معکوس کردن قطبیت یکی از کانال‌ها مفید نیست، زیرا تغییرات فاز ناشی از فرآیند Oversampling می‌تواند نتیجه‌ی این تست را نامعتبر کند. بهترین روش، مقایسه‌ی مستقیم صوتی با استفاده از روش A/B است.

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

برای رویکردی سیستماتیک‌تر در بررسی Aliasing، روش زیر به شناسایی و آزمایش پلاگین‌ها کمک می‌کند:

۱. یک ترک صوتی در DAW ایجاد کنید.
۲. یک Linear Sine Sweep با مدت زمان بیش از ۱۰ ثانیه و سطح ‑۱dBFS روی ترک قرار دهید.
۳. پلاگین‌هایی که قصد بررسی آن‌ها را دارید به‌عنوان Insert روی ترک اضافه کنید.
۴. ترک را به‌صورت حلقه‌ای (Loop) پخش کنید و گوش دهید: هنگامی که Sine Sweep از محدوده شنیداری عبور می‌کند، اگر شاهد شروع یک Sweep دوم بودید که مکرراً بالا و پایین می‌رود، این نشان‌دهنده‌ی Aliasing است.
۵. همه پلاگین‌ها به جز یکی را Bypass کنید و به‌صورت جداگانه بدترین منابع Aliasing را شناسایی کنید. سپس Oversampling را تنها برای همان پلاگین‌ها فعال نمایید.
۶. مراحل ۴ و ۵ را تا زمانی که سیگنال به‌طور قابل قبول پاک و بدون نویز باشد، تکرار کنید.

در این آزمایش دو نکته‌ی کلیدی وجود دارد که باید مدنظر قرار گیرد. نخست، این تست به‌منظور آشکارسازی Intermodulation Distortion طراحی نشده است؛ برای بررسی این نوع دیستورشن، حداقل نیاز به دو sine tones مجزا در سیگنال وجود دارد. دوم، سیگنال مورد استفاده در این تست ماهیتی کاملاً مصنوعی دارد و احتمال وجود محتوای فرکانس بالا نزدیک به ‑۱dBFS در پروژه‌های صوتی واقعی بسیار پایین است. از این رو، پیش از تمرکز بر آزمایش‌های Sine Sweep، توصیه می‌شود ابتدا تحلیل دقیق و شنیداری محتوای واقعی پروژه انجام شود تا ارزیابی عملکرد پلاگین‌ها در شرایط عملی بهینه گردد.

همچنین، هنگام مشاهده‌ی سیگنال صوتی در نمودارهایی مانند Spectrogram نباید بیش از حد نگران بود. ممکن است Aliasing در نمودار قابل مشاهده باشد، اما سطح دسیبل آن را نیز در نظر بگیرید. در بسیاری از موارد، شدت آن به اندازه‌ای نیست که فعال‌سازی Oversampling را توجیه کند، مگر اینکه صدای آن نیز شنیده شود. اگرچه اغلب ترک‌ها به‌صورت چندلایه (Stack) می‌شوند، صدای Aliasing در هر ترک لزوماً در یک نقطه هم‌زمان نمی‌آید و بنابراین اغلب به شکل نویز دیجیتال کلی ظاهر می‌شود، نه به شکل زنگ یا هارمونیک مشخص. در صورتی که این نویز در میکس نهایی شنیده نشود، فعال‌سازی Oversampling احتمالاً تأثیر محسوسی نخواهد داشت.

بررسی تاثیر Aliasing در پروژه‌های صوتی

Oversampling در زنجیره‌ی پلاگین‌ها

فعال کردن Oversampling برای هر پلاگین به‌صورت جداگانه ممکن است در زنجیره‌ی سیگنال مشکلاتی ایجاد کند. برای ساده‌تر کردن کار، می‌توان از ابتدا با نرخ نمونه‌برداری بالاتر، مانند ۹۶ یا ۱۹۲ کیلوهرتز، کار کرد. در این حالت فرکانس نایکوئیست بالاتر است و نیاز به Oversampling به حداقل می‌رسد.

برخی میزبان‌های پلاگین نیز ویژگی Chain Oversampling را ارائه می‌دهند که تمام پلاگین‌های یک کانال را یکجا Oversample می‌کند. عملکرد آن مشابه نرخ نمونه‌برداری بالا است: ابتدا یک بار Oversampling انجام می‌شود، سپس در پایان به نرخ اصلی بازمی‌گردد و تمام کانال‌ها با همان روش پیش‌بینی‌شده پردازش می‌شوند.

اگر از نرخ نمونه‌برداری بالا یا Chain Oversampling استفاده می‌کنید، بهتر است Oversampling هر پلاگین را غیرفعال کنید. در صورت مشاهده‌ی مشکلات، می‌توان از تست Sine Sweep استفاده کرد و Oversampling را تنها برای پلاگین‌هایی که واقعاً نیاز دارند، فعال نمود.

اگر از نرخ نمونه‌برداری بالا یا Chain Oversampling استفاده می‌کنید، بهتر است Oversampling هر پلاگین را غیرفعال کنید. در صورت مشاهده‌ی مشکلات، می‌توان از تست Sine Sweep استفاده کرد و Oversampling را تنها برای پلاگین‌هایی که واقعاً نیاز دارند، فعال نمود.

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

از یک سو، هر افزایش فرکانسی به‌طور طبیعی ضعیف‌تر می‌شود و وقتی این اعوجاج هارمونیک به نایکوئیست بالا برسد و تبدیل به Aliasing شود، شدت آن بسیار کم است. اما از سوی دیگر، اگر تعداد پلاگین‌ها زیاد باشد، ممکن است هنوز قابل شنیدن باشد. در این شرایط، استفاده از یک فیلتر پایین‌گذر (Low-Pass) در ۲۰ کیلوهرتز بعد از هر پلاگین مشکل‌ساز توصیه می‌شود. این فیلتر فرکانس‌های بسیار بالا ناشی از محاسبات غیرخطی را کاهش می‌دهد، سیگنال پاک‌تری برای پلاگین بعدی فراهم می‌کند و از انتقال اعوجاج هارمونیک از یک پلاگین به پلاگین دیگر جلوگیری می‌کند.

این روش شفاف، نسبتاً کم‌هزینه برای پردازنده و کمتر تهاجمی برای سیگنال صوتی نسبت به روش نرخ نمونه‌برداری پایین با Oversampling هر پلاگین است. در آینده، ارائه‌ی این فیلتر به‌صورت یک گزینه سریع (Toggle) کنار هر Insert در DAW یا Chain Oversampler برای پروژه‌های با نرخ نمونه‌برداری بالا می‌تواند بسیار مفید باشد.

چالش‌ها و محدودیت‌های Oversampling

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

  1. Oversampling همواره بار پردازشی سیستم را افزایش می‌دهد. در شرایطی که این افزایش بار باعث محدودیت شود، بهترین روش فعال‌سازی Oversampling تنها در زمان خروجی گرفتن (Bounce) یا Printing افکت‌های Oversampled روی ترک‌ها است. اگرچه این روش ممکن است از نظر عملی راحتی کمتری داشته باشد، اما در مواقعی که پلاگین‌ها واقعاً به Oversampling نیاز دارند و توان پردازشی سیستم محدود است، مؤثرترین و بهینه‌ترین راهکار به شمار می‌رود.
  2. Oversampling ممکن است باعث افزایش قابل توجه تأخیر سیگنال شود. برای کاهش این مشکل، برخی پلاگین‌ها گزینه‌های پیشرفته‌ای برای Oversampling ارائه می‌دهند؛ عباراتی مانند Low Latency، Minimum Phase یا IIR را جستجو کنید. استفاده از این تنظیمات می‌تواند تأخیر را به شکل چشمگیری کاهش دهد، اما ممکن است باعث ایجاد مشکلاتی در فاز یا فضای هدروم (Headroom) شود، که در ادامه به آن‌ها پرداخته خواهد شد.

  3. برخی پلاگین‌ها هنگام فعال بودن Oversampling، ممکن است تأخیر واقعی سیگنال را به درستی گزارش نکنند. در صورتی که پس از فعال کردن Oversampling زمان‌بندی ترک‌ها نامتناسب به نظر برسد، ابتدا پخش را متوقف و دوباره آغاز کنید. برخی میزبان‌ها، مانند Logic Pro، نیاز دارند تا سیستم کمی «بازنگری» شود تا جبران تأخیر (Latency Compensation) در تمامی ترک‌ها به‌روزرسانی شود.

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

    بنابراین، بهترین رویکرد این است که از Oversampling پلاگین تنها در شرایطی استفاده شود که تأخیر اهمیت چندانی ندارد و در غیر این صورت، استفاده از نرخ نمونه‌برداری بالاتر یا Chain Oversampling توصیه می‌شود.

  4. Oversampling می‌تواند در ساختارهای Send/Return باعث ایجاد اختلاف فاز شود. تکنیک‌های Oversampling با تأخیر کم (Low-Latency) معمولاً از فیلترهای Minimum-Phase بهره می‌برند، که هنگام ترکیب سیگنال پردازش‌شده روی یک Aux Send با سیگنال اصلی (Dry) در کانال اصلی، ناسازگاری‌های فازی ایجاد می‌کنند. در صورت مشاهده چنین مشکلاتی، توصیه می‌شود از کنترل Dry/Wet موجود در پلاگین استفاده کرده و آن را به‌صورت Insert اعمال کنید. اگر پلاگین کنترل Dry/Wet ندارد و نیاز به این قابلیت وجود دارد، Oversampling را غیرفعال کرده و از نرخ نمونه‌برداری بالاتر استفاده نمایید تا مشکل فاز رفع شود.

  5. Oversampling می‌تواند باعث افزایش سطوح پیک سیگنال شود. برخی فیلترهای Oversampling به‌ویژه زمانی که سیگنال قبلاً تحت پردازش‌های غیرخطی شدید مانند Clipper قرار گرفته باشد، پیک‌های قابل توجهی به سیگنال اضافه می‌کنند. این پیک‌های اضافه ناشی از فیلترهای Low-Pass استفاده‌شده در فرآیند Oversampling هستند و به‌ویژه در مرحله مسترینگ مشکل‌ساز می‌شوند، زیرا باعث می‌شوند پردازش داینامیک (Dynamics Processing) ‌واکنش نشان دهد و محدوده دینامیکی کاهش یابد.

    برای تشخیص این مشکل، می‌توان سیگنال را قبل و بعد از Oversampling با استفاده از True Peak Meter بررسی کرد و تغییرات را مشاهده نمود. در صورت مشاهده افزایش نامطلوب پیک، به جای استفاده از Oversampling، بهتر است از نرخ نمونه‌برداری بالاتر استفاده کنید.

  6. Oversampling می‌تواند باعث تضعیف یا پراکندگی فازی (Phase Smearing) فرکانس‌های بالای سیگنال شود، به‌ویژه زمانی که چند پلاگین Oversampled به‌صورت زنجیره‌ای به‌کار گرفته شوند. اگرچه این مشکل امروزه کمتر رایج است، برخی فیلترهای Oversampling به‌قدری ملایم هستند که حتی محدوده‌های فرکانسی شنیداری را نیز کاهش می‌دهند. استفاده‌ی همزمان از چند پلاگین با این ویژگی می‌تواند باعث کاهش انرژی فرکانس‌های بالا (High-End Roll-Off) و کاهش حس «فضا» یا Air در سیگنال شود.

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

نتیجه‌گیری

فعال‌سازی Oversampling در پلاگین‌های صوتی می‌تواند راهکاری مؤثر برای کاهش Aliasing در مراحل میکس و مسترینگ باشد، اما همیشه بی‌نقص نیست. با به‌کارگیری Oversampling تنها زمانی که مشکل شنیداری مشخص می‌شود و استفاده از Sine Sweep برای شناسایی منبع Aliasing، می‌توان تصمیمات هوشمندانه‌ای درباره زمان و مکان استفاده از Oversampling اتخاذ کرد.

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

با بهره‌گیری از این تکنیک‌ها، می‌توان Aliasing قابل توجه را کنترل کرد، بدون آنکه فضای هدروم (Headroom) کاهش یابد، تأخیر (Latency) اضافه شود یا بار پردازشی سیستم به‌طور غیرضروری افزایش پیدا کند.

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

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