تقویت داده (Data Augmentation) در سیگنال و صوت
تقویت داده (Data Augmentation) در سیگنال و صوت
در حوزههای پردازش صوت، لرزهنگاری، سیگنالهای پزشکی (ECG، EEG)، رادار و هر نوع دادهٔ سری زمانی یکبعدی، دادهافزایی یا همان تقویت داده دقیقاً همان نقش کلیدی را بازی میکند که در بینایی ماشین دارد: جلوگیری از بیشبرازش، افزایش تعمیمپذیری و شبیهسازی تنوع دنیای واقعی.
بدون تقویت مناسب، حتی بهترین مدلهای ۱ بعدی (S4، Mamba، SaShiMi، WaveNet، Conformer، HuBERT، WavLM، Audio Spectrogram Transformer) به شدت روی دادههای آزمایشگاهی تمیز بیشبرازش میکنند و در محیط واقعی (نویز پسزمینه، سرعت متفاوت صحبت، اکو، نویز تجهیزات پزشکی و…) افت شدیدی دارند.
انواع اصلی داده سیگنال و صوت

1.تبدیلهای زمانی (Time-domain)
- Time Stretch (تغییر سرعت بدون تغییر زیروبمی)
- سرعت پخش صدا را کندتر یا تندتر میکند ولی pitch (زیر و بمی) ثابت میماند. به عنوان مثال صدای ۱ ثانیه را به ۱.۲ ثانیه یا ۰.۸ ثانیه کش میدهیم که منجر به شبیهسازی صحبت کردن با سرعتهای مختلف (کند، تند، خسته، هیجانزده) می شود.
- Pitch Shift (تغییر زیروبمی بدون تغییر سرعت)
- صدای فرد را بمتر یا زیرتر میکند ولی طول سیگنال عوض نمیشود. معمولاً ±۲ تا ±۴ سمیتون (semitone) استفاده میشود (مثل تغییر صدای مرد به زن یا برعکس) برای شبیهسازی صدای افراد مختلف، جنسیت متفاوت، سن متفاوت.
- Time Shift / Rolling (جابهجایی زمانی تصادفی)
- سیگنال را به چپ یا راست شیفت میدهد و قسمتهایی که بیرون میزنند را به انتها یا ابتدا میچسباند یا با صفر/سکوت پر میکند. درست شبیه حالتی که شروع گفتار کمی دیرتر یا زودتر بیاید. به منظور جلوگیری از اینکه مدل به موقعیت دقیق رویداد در سیگنال حساس شود از این روش استفاده می شود.
- Dynamic Range Compression / Expansion
- Compression: صداهای بلند را آرامتر و صداهای آرام را بلندتر میکند، دامنه داینامیک کمتر میشود (مثل رادیو).
- Expansion: برعکس، تفاوت بین بلند و آرام را بیشتر میکند.
- کاربرد: شبیهسازی میکروفونهای مختلف، پخش در محیطهای شلوغ یا خیلی ساکت.
- افزودن نویز سفید، صورتی یا قهوهای (White / Pink / Brown Noise)
- White Noise: همه فرکانسها قدرت یکسان مانند صدای «شششش»
- Pink Noise: قدرت با افزایش فرکانس ۳ دسیبل در اکتاو کم میشود همچون صدای طبیعیتر (مثل باران، باد)
- Brown Noise: کاهش ۶ دسیبل در اکتاو مشابه صدای خیلی بم (مثل غرش دریا)
- کاربرد: شبیهسازی نویز محیط واقعی (کافه، خیابان، بیمارستان)، معمولاً با SNR بین ۵ تا ۲۰ دسیبل اضافه میشود.
- Impulse Response Convolution (شبیهسازی اتاق و ریورب با RIRهای واقعی)
- سیگنال را با Impulse Response یک اتاق واقعی (RIR = Room Impulse Response) کانولوشن میکنید. انگار صدا دقیقاً در همان اتاق، سالن، حمام یا کلیسا ضبط شده است. منجر به استحکام مدل در محیطهای واقعی (اکو، ریورب، فاصله از میکروفون) می شود.
2. تقویت برروی اسپکتروگرام (Spectrogram-level)
این تکنیکها پس از تبدیل سیگنال خام به اسپکتروگرام (معمولاً Log-Mel Spectrogram) اعمال میشوند .

– SpecAugment شامل سه عملیات اصلی است که بهصورت مستقل و با احتمال مشخص اعمال میشوند:
- Time Masking: چند ستون متوالی در محور زمان را با صفر یا میانگین پر میکند (مثل حذف موقت ۱ تا ۳ ثانیه از صدا).
- Frequency Masking: چند ردیف متوالی در محور فرکانس را صفر میکند (مثل حذف یک محدوده فرکانسی خاص).
- Time Warp (در نسخههای بهبودیافته): اسپکتروگرام را در جهت افقی کمی خم و تغییر شکل میدهد (شبیه کشیدن یا فشردن زمان). نتیجه: مدل حتی با از دست رفتن بخشهایی از زمان یا فرکانس همچنان عملکرد خوبی دارد.
– SpecMix، SpecCutOut و SpecPatchOut
- SpecCutOut: دقیقاً مشابه CutOut در تصاویر؛ یک مستطیل تصادفی در اسپکتروگرام را کاملاً صفر میکند.
- SpecPatchOut: شبیه Dropout ولی بهصورت بلوکهای بزرگتر و مستطیلی.
- SpecMix / SpecMixup: دو اسپکتروگرام را با نسبت λ و (۱-λ) بهصورت خطی ترکیب میکند و برچسبها را هم به همان نسبت مخلوط میکند (معادل MixUp روی اسپکتروگرام).
–Frequency Shift و Vocal Tract Length Perturbation (VTLP)
- Frequency Shift: کل اسپکتروگرام را چند بین (bin) به بالا یا پایین شیفت میدهد (معمولاً ±۵ تا ±۱۵ بین Mel).
- VTLP: نسخهٔ پیشرفته و واقعیتر Frequency Shift است؛ فرکانسها را بهصورت غیرخطی کش یا فشرده میکند تا طول مسیر صوتی انسان شبیهسازی شود (تفاوت صدای کودک و بزرگسال، زن و مرد). این دو تکنیک در سیستمهای تشخیص گفتار خودنظارتدار (w2v2، HuBERT، WavLM) و تبدیل صدا تقریباً همیشه استفاده میشوند.
3. تقویت داده ترکیبی و Mix-style
- Mixup (در حوزهٔ زمان یا اسپکتروگرام)
- SpecMixup, Time-domain Mixup
- RoomMix, ReverbMix (ترکیب دو سیگنال با ریورب متفاوت)
- Signal-Mix (معادل CutMix برای صوت): بخشی از یک سیگنال را روی دیگری میچسبانیم
4. تقویت داده با مدلهای مولد
این دسته جدیدترین و قدرتمندترین روشهای دادهافزایی صوتی هستند که از مدلهای مولد و دیتاستهای واقعی استفاده میکنند.
۱. تولید نمونه کاملاً مصنوعی با مدلهای مولد (Synthetic Data Generation) به جای تغییر نمونههای موجود، یک صدای کاملاً جدید و معتبر تولید میکنیم:
- AudioLDM / AudioLDM 2 : از متن (prompt) صدا تولید میکند: «صدای باران در جنگل»، «مرد میانسال فارسی با لهجه تهرانی که میگوید سلام»، «صدای انفجار دور».
- AudioGen (متا) : مشابه AudioLDM ولی کیفیت بالاتر و کنترل بهتر روی طول و سبک.
- VALLE / VALLE-2 / NaturalSpeech-3: تولید گفتار با صدای دقیق یک فرد خاص (فقط با چند ثانیه نمونه صوتی).
- Tango (از گوگل) : جدیدترین مدل ۲۰۲۵، کیفیت نزدیک به استودیو و کنترل دقیق روی احساسات (خوشحال، عصبانی، خسته).
۲. افزودن نویز واقعی ضبط شده از محیط (Real Background Noise / Reverberation) به جای نویز مصنوعی، از صداهای واقعی محیط استفاده میکنیم مثلا می توان نویز و ریورب واقعی (کافه، خیابان، مترو، آشپزخانه، دفتر و …) یا صدای محیطی واقعی (بوق ماشین، صدای پرنده، باد، صدای جمعیت) و .. استفاده کرد.
۳. Voice Conversion و Style Transfer صوتی سبک و ویژگیهای یک صدا را به صدای دیگر منتقل میکنیم به عنوان مثال صدای یک مرد را به صدای یک زن خاص تبدیل میکنیم یا صدای خنثی را به حالت عصبانی، خوشحال، گریان یا نجوا تبدیل میکنیم.
5. تکنیکهای مخصوص حوزه های خاص
این تکنیکها برای هر نوع سیگنال یکبعدی طراحی شدهاند و باید دقیقاً از نویزها و تغییرات واقعی همان حوزه استفاده کرد تا مدل در محیط واقعی شکست نخورد.
– ECG و EEG (سیگنالهای پزشکی)
- افزودن نویز ۵۰/۶۰ هرتز (Powerline Interference) نویز سینوسی ۵۰ یا ۶۰ هرتز با دامنه کوچک (۱۰-۵۰ میکروولت برای ECG) اضافه میشود. تقریباً همه دستگاههای پزشکی در بیمارستان این نویز را دارند.
- Baseline Wander یک موج سینوسی خیلی کند (۰.۱ تا ۰.۵ هرتز) با دامنه بزرگ (تا ۱ میلیولت) به سیگنال اضافه یا کم میشود. به منظور شبیهسازی حرکت بیمار، تنفس عمیق، یا تماس بد الکترود.
- Muscle Artifact (EMG Noise) نویز باند بالا (۲۰-۵۰۰ هرتز) با پالسهای کوتاه و تیز (burst) اضافه میشود. برای شبیهسازی لرزش عضلانی، سرفه، صحبت کردن، یا فشار دندانها روی هم.
- تکنیکهای اضافی رایج: Electrode Motion Artifact، Sudden Amplitude Drop (شل شدن الکترود).

– لرزهنگاری (Seismic Signals)
- افزودن نویز زلزلههای کوچک یا پسلرزه (Background Microseism) از سیگنالهای واقعی زلزلههای خیلی کوچک یا نویز اقیانوسی (microseismic noise) به عنوان پسزمینه استفاده میشود.
- تغییر سرعت موج (Velocity Perturbation) سیگنال را با فاکتور ۰.۹ تا ۱.۱ Time Stretch میکنند یا فرکانسها را کمی شیفت میدهند تا تفاوت سرعت موج P و S در لایههای مختلف زمین شبیهسازی شود.
– رادار و سونار (Radar / Sonar)
- Doppler Shift مصنوعی فرکانس سیگنال را کمی بالا یا پایین شیفت میدهند تا حرکت نسبی هدف (هدف در حال نزدیک شدن یا دور شدن) شبیهسازی شود. معمولاً ±۵۰ تا ±۵۰۰ هرتز بسته به نوع رادار.
- Clutter سیگنالهای ناخواسته از محیط (درخت، زمین، دریا، ساختمان) اضافه میشود.
- Jamming و Spoofing نویز قوی در باند خاص یا سیگنالهای جعلی (false target) اضافه میشود تا مدل در برابر اختلال الکترونیکی مقاوم شود.
- تکنیکهای دیگر: Multi-path fading، Speckle Noise، و تغییر SNR از ۳۰ دسیبل تا -۱۰ دسیبل.
بهترین ابزارها و کتابخانهها (۲۰۲۵)
- torchaudio.functional + transforms (بهترین و سریعترین در PyTorch)
- Audiomentations – معادل Albumentations برای صوت (پشتیبانی از RIR، نویز واقعی و…)
- SpecAugment (در torchaudio یا fairseq)
- WavAugment – تقویت داده مبتنی بر GPU (شامل ریورب و نویز)
- nnAudio – تبدیل سریع به اسپکتروگرام و تقویت داده روی GPU
- KerasCV / tf.signal – در اکوسیستم تنسورفلو
- librosa + custom pipeline (برای پروژههای کوچک)
نکات عملی کلیدی
- برای مدلهای end-to-end خام (مثل WavLM، AudioNTT) افزایش داده در حوزهٔ زمان بهتر است؛ برای مدلهای مبتنی بر اسپکتروگرام (AST، Conformer) SpecAugment هنوز بهترین است.
- همیشه تقویت داده را با حجم دیتاست تنظیم کنید.
- در validation/test فقط Normalize و (در صورت نیاز) کوتاه کردن یا طول ثابت اعمال کنید.
- برای مسائل پزشکی و صنعتی (ECG، لرزه) حتماً از نویز و artifactهای واقعی همان دستگاه استفاده کنید؛ نویز مصنوعی گاهی گمراهکننده است.
نتیجهگیری
در پردازش صوت و سیگنال، تقویت داده دیگر یک انتخاب نیست؛ یک ضرورت مطلق است. یک تقویت داده مناسب و بهروز معمولاً ۵ تا ۲۰ درصد بهبود مطلق روی بنچمارکهای واقعی ایجاد میکند و هزینهٔ محاسباتی بسیار ناچیزی دارد.
در سال ۲۰۲۵، هر مدلی که بدون SpecAugment، Mixup و افزودن نویز محیطی واقعی آموزش دیده باشد، عملاً غیررقابتی محسوب میشود. سرمایهگذاری روی دادهافزایی صوتی سادهترین و مؤثرترین راه برای رسیدن به عملکرد state-of-the-art در هر پروژهٔ صوتی و سیگنالی است.

دیدگاه (1)
Mohamad
بسیار اموزنده و مفید بود ممنون از شما