طبقه‌بندی ژانرهای موسیقی با CNN

یادگیری عمیق برای پیش‌بینی ژانر موسیقی

CNN یکی از فناوری‌های برتر برای سرویس‌های پخش موسیقی است. شبکه عصبی می‌تواند ترکیبات مشابهی را بر اساس نوع، حالت و… تشخیص دهد. همه این‌ها باعث می‌شود دنیای موسیقی بسیار بهتر و لذت‌بخش‌تر شود. اما چگونه؟ برای درک این موضوع لازم است با مفهوم CNN آشنایی داشته باشید.در این مقاله به نحوه ارتباط CNN با موسیقی و پیاده‌سازی طبقه‌بندی موسیقی در TensorFlow می‌پردازیم.

 

CNN + Music

هر ضبط صدا دامنه خاصی است که می‌تواند به‌عنوان تصویر نیز پردازش شود.

Stereophonic sound
Stereophonic sound

 یک روش محبوب در حوزه صوتی استفاده از طیف‌سنج به‌عنوان ورودی به CNN و Kernelهای فیلترکننده‌ی به‌هم‌پیچیده است که الگوها را به‌صورت دو بعدی استخراج می‌کند.

الگوریتم کلاسیک موردنیاز برای طبقه‌بندی ژانرهای موسیقی بااستفاده از CNN:

  1. مجموعه داده آموزشی، اعتبار سنجی و تست را  ایجاد کنید.
  2. شبکه CNN را بسازید.
  3. شبکه را کامپایل کنید.
  4. شبکه را آموزش دهید.
  5. CNN را با استفاده از مجموعه داده‌ی تست، آزمایش کنید.
  6. یک نمونه را پیش‌بینی کنید.

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

CNNها ویژگی‌هایی را در نظر می‌گیرند که در سطوح مختلف به‌صورت سلسله مراتبی قرار دارند و می‌توانند توسط Kernelهای به‌هم‌پیچیده استخراج شوند. ویژگی‌های سلسله مراتبی در طول آموزشِ نظارت‌شده آموخته می‌شوند.

طبقه‌بندی ژانرهای موسیقی با استفاده از TensorFlow

در این بخش به پیاده‌سازی عملی ژانرهای موسیقی می‌پردازیم:

Cassette
Cassette
 برای پردازش صوت و استخراج دانش مفید از CNN، می‌توانیم صوت را به‌عنوان تصویر پردازش کنیم و با استفاده از طیف‌سنج به‌عنوان ورودی به CNN و Kernelهای فیلترکننده‌ی به‌هم‌پیچیده الگوها را به‌صورت دو بعدی استخراج کرده و تخمین‌گر خوبی از نوع ژانرهای موردعلاقه بسازیم.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.