درک مفاهیم Beat Tracking

درک مفاهیم Beat Tracking

پردازش صوت: درک مفاهیم Beat Tracking


مقدمه

طی سال‌ها، متخصصان موسیقی و فناوری صدا روش‌های متعددی برای استخراج خودکار ضرب‌های موسیقی (Beat Tracking) طراحی کرده‌اند. این تکنیک امروزه یکی از ابزارهای کلیدی در نرم‌افزارهای میکس DJ، ویرایش محتوای صوتی و تصویری، و سیستم‌های پیشنهاد موسیقی در پلتفرم‌های استریم محسوب می‌شود.
نخستین تلاش‌ها برای ساخت ردیاب‌های خودکار ضرب در دهه ۱۹۸۰ آغاز شد و امروزه به الگوریتم‌های هوشمند مبتنی بر هوش مصنوعی با دقت بالا تبدیل شده‌اند.

آیا تا به حال فکر کرده‌اید که چگونه دی‌جی‌ها دو آهنگ را بی‌نقص با هم هم‌زمان می‌کنند؟ یا چگونه تدوین‌گران ویدیو، موسیقی را با صحنه‌های فیلم هماهنگ می‌سازند؟ و یا بازی‌هایی مانند Beat Saber چگونه بدن شما را دقیقاً در ریتم موسیقی به حرکت درمی‌آورند؟
پاسخ همه‌ی این پرسش‌ها در یک مفهوم نهفته است: قدرت ضرب‌های موسیقی (Beats).

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


مفهوم Beat Tracking

ایده‌ی پشت Beat Tracker ساده است: با دریافت یک سیگنال صوتی، الگوریتم، سری زمان‌هایی را برمی‌گرداند که ضرب‌ها در آن لحظات رخ داده‌اند (شکل ۱).

image 1
درک مفاهیم Beat Tracking

Beat Tracking در بسیاری از زمینه‌ها کاربرد دارد ، از میکس موسیقی و تدوین ویدیو گرفته تا سیستم‌های پیشنهاد موسیقی، همگام‌سازی خودکار صدا و تصویر، بازی‌های ریتمیک، و حتی نرم‌افزارهای نت‌نویسی خودکار.


پیشنهاد ویژه:

« اولین و کاملترین دوره آموزشی نرم افزار اودئون ODEON برای طراحی آکوستیک »

ثبت نام دوره آموزشی نرم افزار اودئون ODEON


شکل ۱: ردیاب ضرب، سیگنال صوتی را به‌عنوان ورودی دریافت کرده و زمان‌ ضرب‌ها را استخراج می‌کند. در این شکل، موج آبی نشان‌دهنده‌ی سیگنال ورودی و خطوط سبز نشان‌دهنده‌ی ضرب‌ها (t1, t2, … tn) هستند.


دو مفهوم کلیدی: نظم و هم‌زمانی

ضرب‌ها با درک نظم (Regularity) در موسیقی ارتباط نزدیکی دارند. وجود نظم زمانی در موسیقی به شنونده اجازه می‌دهد پیش‌بینی کند که رویداد بعدی چه زمانی اتفاق می‌افتد؛ به همین دلیل است که ما می‌توانیم با ریتم موسیقی پا بزنیم یا برقصدیم.

مفهوم دوم، هم‌زمانی (Synchronicity) است. این ویژگی بیان می‌کند که رویدادهای موسیقایی مانند نت‌ها و آکوردها معمولاً با موقعیت‌های ضرب هم‌زمان هستند (شکل ۲). در اجراهای گروهی، هم‌زمانی میان نوازندگان مختلف، ساختار ریتمیک موسیقی را تقویت می‌کند.

درک مفاهیم Beat Tracking
درک مفاهیم Beat Tracking

شکل ۲: نمونه‌ای از محیط یک DAW مجهز به قابلیت Beat Extraction. موج صوتی در بالا و نت‌های MIDI روی پیانو رول نمایش داده شده‌اند. خطوط آبی عمودی موقعیت ضرب‌ها را مشخص می‌کنند.


Beat Trackers چگونه کار می‌کنند؟

روش‌های مختلفی برای استخراج ضرب از سیگنال وجود دارد، اما یکی از نمایش‌های پرکاربرد در این زمینه تابع آشکارسازی شروع نت یا Onset Detection Function (ODF) است.

آغازها (Onsets) لحظاتی هستند که یک نت شروع می‌شود و معمولاً با پیدایش گذراها (Transients) همراهند. از دیدگاه پردازش سیگنال، گذراها پالس‌های کوتاه با دامنه‌ی بالا و مؤلفه‌های فرکانسی غیرتناوبی‌اند (شکل ۳).

درک مفاهیم Beat Tracking
درک مفاهیم Beat Tracking

شکل ۳: موج یک نت موسیقی به‌همراه نمایش شروع نت و گذرای متناظر با آن.

در گذشته، آشکارسازی گذراها در حوزه‌ی زمان انجام می‌شد؛ اما امروزه بیشتر الگوریتم‌ها در حوزه‌ی فرکانس کار می‌کنند. معمولاً سیگنال اصلی با استفاده از تبدیل فوریه‌ی کوتاه‌مدت (STFT) و پنجره‌هایی مانند Hann Window پردازش می‌شود. در این مرحله، اعمال فیلترهای کمکی یا استفاده از مقیاس لگاریتمی دامنه‌ها به دقت تشخیص کمک می‌کند.


انواع Onset Detection Function (ODF)

  1. تابع محتوای فرکانس بالا (HFC):
    این تابع بر اجزای فرکانسی بالا تمرکز دارد. فرض بر این است که گذراها دارای انرژی زیاد در فرکانس‌های بالا هستند، بنابراین افزایش ناگهانی انرژی در این ناحیه می‌تواند نشانه‌ی شروع یک نت باشد.
  2. شار طیفی (Spectral Flux):
    در این روش، تغییرات زمانی در دامنه‌ی طیف اندازه‌گیری می‌شود. تفاوت طیف در دو فریم زمانی متوالی محاسبه شده و مجموع آن به‌عنوان تابع آشکارسازی مورد استفاده قرار می‌گیرد.
  3. انحراف فاز وزنی (Weighted Phase Deviation – WPD):
    این تابع از فرکانس آنی (Instantaneous Frequency) برای تشخیص نقاطی که فاز سیگنال به‌طور غیرقابل پیش‌بینی تغییر می‌کند استفاده می‌کند. تغییرات شدید در فاز معمولاً با شروع نت‌ها هم‌زمان‌اند.

پیشنهاد ویژه:

دوره آموزش ماژول آکوستیک ساختمانی نرم افزار کامسول

ثبت نام دوره آموزشی نرم افزار کامسول


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


تشخیص ضرب‌ها از قله‌های ODF

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

از آنجا که ضرب‌ها معمولاً با الگوی زمانی منظم تکرار می‌شوند، الگوریتم باید تناوب ضرب‌ها (Tempo) را نیز تخمین بزند. روش‌هایی مانند تابع خودهمبستگی (Autocorrelation Function)، فیلترهای شانه‌ای (Comb Filters)، و الگوریتم Viterbi برای تخمین این تناوب به‌کار می‌روند.

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

درک مفاهیم Beat Tracking
درک مفاهیم Beat Tracking

شکل ۴: سیگنال ورودی پس از تبدیل به تابع آشکارسازی (مثلاً بر اساس Spectral Flux). الگوریتم انتخاب قله، ضرب‌های نهایی را تعیین می‌کند.


نقش هوش مصنوعی در Beat Tracking

تا اینجا روند Beat Tracking از دیدگاه پردازش سیگنال کلاسیک (DSP) بررسی شد. اما طی سال‌های اخیر، یادگیری عمیق (Deep Learning) نقش مهمی در بهبود دقت و پایداری این فرایند ایفا کرده است.

در نخستین مدل‌های یادگیری عمیق، مرحله‌ی ODF با یک شبکه عصبی چندلایه (Feed Forward) جایگزین شد [2]. ورودی این شبکه، طیف‌نگاره‌ی سیگنال صوتی و خروجی آن، سیگنالی مشابه ODF بود.

سپس، استفاده از شبکه‌های حافظه طولانی دوطرفه (Bidirectional LSTM) در Beat Tracking متداول شد [3]. مزیت اصلی BLSTM، توانایی آن در استفاده هم‌زمان از اطلاعات گذشته و آینده است.

در گام بعد، الگوریتم‌های شبکه بیزی پویا (Dynamic Bayesian Networks – DBN) جایگزین مرحله‌ی انتخاب قله شدند [4]. DBNها قادرند تناوب و موقعیت فاز ضرب‌ها را به‌طور هم‌زمان مدل کنند و در نتیجه عملکردی دقیق‌تر از روش‌های کلاسیک دارند.

بعدتر، شبکه‌های کانولوشنی زمانی (Temporal Convolutional Networks – TCN) که ابتدا در مدل‌های تولید صوت مانند WaveNet معرفی شده بودند، برای Beat Tracking نیز استفاده شدند [5].
در این ساختار، DBNها پس از TCN وظیفه‌ی استخراج ضرب و فاز را بر عهده دارند.

درک مفاهیم Beat Tracking
درک مفاهیم Beat Tracking

شکل ۵: نمودار مقایسه‌ای دو ساختار Beat Tracker:
در سمت چپ مدل مبتنی بر DSP و در سمت راست مدل مبتنی بر یادگیری عمیق با استفاده از BLSTM، TCN یا Transformer.

امروزه Beat Tracking همچنان در حال پیشرفت است و مدل‌های مبتنی بر Transformer یا شبکه‌هایی که ضرب و ضرب قوی‌تر (Downbeat) را به‌صورت هم‌زمان یاد می‌گیرند [6]، نتایج بسیار امیدبخشی نشان داده‌اند.


چالش‌های امروزی در Beat Tracking

در بیشتر نرم‌افزارهای صوتی امروزی، Beat Tracking به‌صورت آفلاین انجام می‌شود. کاربر فایل موسیقی را در نرم‌افزاری مانند Serato DJ Pro، Traktor یا Ableton Live بارگذاری کرده و آن را آنالیز می‌کند (تصویر ۱).

در این فرایند، خطاهایی اجتناب‌ناپذیر هستند؛ اما این نرم‌افزارها ابزارهایی برای اصلاح دستی ضرب‌ها در اختیار کاربر قرار می‌دهند.

درک مفاهیم Beat Tracking
درک مفاهیم Beat Tracking

تصویر ۱: محیط Serato DJ با ویرایشگر Beatgrid. کاربران می‌توانند نشانگرهای ضرب و تمپو را تنظیم کنند.

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

یکی از مشکلات رایج، تشخیص نادرست Downbeat است؛ حتی اگر ضرب‌ها به‌درستی شناسایی شوند، ممکن است کل شبکه‌ی زمانی یک واحد جابه‌جا شود.

در برنامه‌های پردازش بلادرنگ (Real-Time)، چالش اصلی تأخیر (Latency) و قدرت پردازش است.
نمونه‌ای از سخت‌افزارهایی که قابلیت Beat Tracking زنده دارند، میکسر TX–6 شرکت Teenage Engineering است (تصویر ۲). این دستگاه می‌تواند با گوش دادن به سیگنال صوتی ورودی، تمپو را استخراج و به سایر تجهیزات منتقل کند.

image 7
درک مفاهیم Beat Tracking

تصویر ۲: میکسر قابل‌حمل TX–6 با قابلیت Beat Tracking زنده و همگام‌سازی سخت‌افزارهای دیگر.

در دستگاه‌هایی که قدرت پردازش محدودی دارند، Beat Tracking می‌تواند از طریق سرویس‌های ابری انجام شود. با این حال، روند آینده نشان می‌دهد که سخت‌افزارهای صوتی بیشتری مانند Denon SC5000 Prime یا Pioneer CDJ 3000 با توان محاسباتی داخلی برای اجرای الگوریتم‌های مبتنی بر هوش مصنوعی تجهیز خواهند شد.


منابع

[1] J. P. Bello et al., “A tutorial on onset detection in music signals,” IEEE Transactions on Speech and Audio Processing, 2005.
[2] Lacoste, A. and Eck, D., “Onset detection with artificial neural networks for MIREX 2005.”
[3] F. Eyben et al., “Universal Onset Detection with Bidirectional LSTM Neural Networks,” ISMIR 2010.
[4] S. Böck et al., “A Multi-model Approach to Beat Tracking Considering Heterogeneous Music Styles,” ISMIR 2014.
[5] E. P. M. Davies and S. Böck, “Temporal convolutional networks for musical audio beat tracking,” EUSIPCO 2019.
[6] Y.-N. Hung et al., “Modeling Beats and Downbeats with a Time-Frequency Transformer,” ICASSP 2022.


آموزس، شبیه سازی، طراحی و اجرای پروژه های آکوستیکی با آوانا


اشتراک گذاری

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

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

-- بارگیری کد امنیتی --