پیدا کردن آهنگ از روی صدا با هوش مصنوعی؛ آموزش تشخیص نام موزیک

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

Share
پیدا کردن آهنگ از روی صدا با هوش مصنوعی؛ آموزش تشخیص نام موزیک


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

در چنین شرایطی، جست‌وجوی عبارتی مانند «آهنگ این کلیپ چیست؟» کمکی نمی‌کند؛ زیرا موتور جست‌وجو به خود فایل صوتی دسترسی ندارد. برای پیدا کردن نام آهنگ باید سرنخ صوتی یا متنی را به شکلی قابل پردازش تبدیل کنیم.

ابزارهای تشخیص موسیقی و هوش مصنوعی می‌توانند از روش‌های مختلفی استفاده کنند:

  • ساخت اثر انگشت صوتی یا Audio Fingerprint
  • مقایسه ضبط با بانک اطلاعات آهنگ‌ها
  • تشخیص ملودی از روی زمزمه
  • تبدیل صدای خواننده به متن
  • استخراج کلمات ترانه
  • تشخیص زبان و سبک موسیقی
  • تحلیل سازها، ریتم و فضای قطعه
  • جست‌وجوی ترکیبی متن، خواننده و ژانر
  • رتبه‌بندی چند آهنگ احتمالی

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

آیا هوش مصنوعی می‌تواند نام هر آهنگی را تشخیص دهد؟

خیر. هیچ ابزار تشخیص موسیقی نمی‌تواند تمام آهنگ‌ها را در تمام شرایط با دقت کامل شناسایی کند.

موفقیت به عوامل زیر بستگی دارد:

  • موجود بودن آهنگ در بانک اطلاعات ابزار
  • کیفیت ضبط
  • مدت نمونه صوتی
  • بلندی موسیقی نسبت به صدای محیط
  • وجود گفتگو یا افکت روی آهنگ
  • اصلی یا بازخوانی بودن قطعه
  • تغییر سرعت یا زیر و بمی صدا
  • بی‌کلام یا باکلام بودن موسیقی
  • رسمی یا منتشرنشده بودن آهنگ
  • میزان شباهت نسخه شنیده‌شده با نسخه اصلی

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

به همین دلیل، بهتر است متناسب با نوع اطلاعاتی که دارید از روش مناسب استفاده کنید.

برای هر نوع سرنخ از چه روشی استفاده کنیم؟

اطلاعات موجودبهترین روش اولیه
آهنگ اصلی با صدای واضحShazam
موسیقی در حال پخش در محیطShazam یا قابلیت تشخیص موسیقی تلفن
آهنگ داخل یک برنامه دیگرPop-Up Shazam یا تشخیص موسیقی دستگاه
فقط ملودی را به خاطر داریدGoogle Hum to Search یا SoundHound
چند کلمه از ترانه را می‌دانیدجست‌وجوی متن و تحلیل با هوش مصنوعی
آهنگ داخل ویدئو استاستخراج صدا و انتخاب بخش واضح
صدای گفتگو روی موسیقی قرار داردکاهش صدای گفتار و تقویت موسیقی
نسخه Slowed یا Sped Up استاصلاح سرعت و سپس تشخیص
موسیقی بی‌کلام استتشخیص صوتی و تحلیل سبک و ساز
آهنگ محلی یا کمترشناخته‌شده استجست‌وجوی متن، زبان و نام احتمالی خواننده
آهنگ منتشرنشده استاحتمال دارد ابزارهای عمومی قادر به تشخیص نباشند

تفاوت تشخیص موسیقی با مدل زبانی چیست؟

برای استفاده درست از ابزارها باید تفاوت دو فناوری را بدانیم.

سرویس تشخیص موسیقی

ابزارهایی مانند Shazam معمولاً یک ویژگی صوتی فشرده یا اثر انگشت دیجیتال از قطعه می‌سازند و آن را با بانک اطلاعات آهنگ‌ها مقایسه می‌کنند.

براساس راهنمای رسمی Shazam، این سرویس با تطبیق سریع اثر انگشت دیجیتال صدای شنیده‌شده با آهنگ‌های موجود در فهرست خود کار می‌کند.

اگر نمونه صوتی با نسخه موجود در بانک اطلاعات مطابقت داشته باشد، نتیجه می‌تواند بسیار دقیق باشد.

مدل زبانی یا هوش مصنوعی مولد

یک مدل زبانی برای تطبیق مستقیم اثر انگشت صوتی با میلیون‌ها آهنگ طراحی نشده است. این مدل بیشتر در کارهای زیر مفید است:

  • اصلاح متن ناقص ترانه
  • تشخیص زبان
  • ساخت عبارت جست‌وجوی بهتر
  • تحلیل توضیحات کاربر
  • پیشنهاد آهنگ‌های احتمالی
  • مقایسه چند نتیجه
  • ترجمه متن شنیده‌شده
  • استخراج سرنخ‌های متمایزکننده
  • پرسیدن سؤال‌های تکمیلی

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

روش اول: تشخیص آهنگ با Shazam

Shazam یکی از شناخته‌شده‌ترین ابزارها برای پیدا کردن نام آهنگ در حال پخش است. این ابزار برای iPhone، iPad، Mac، Apple Watch و Android در دسترس است و می‌تواند موسیقی پخش‌شده در محیط یا برخی برنامه‌های دیگر را شناسایی کند.

روش استفاده معمول

  1. برنامه Shazam را باز کنید.
  2. روی دکمه اصلی تشخیص آهنگ بزنید.
  3. تلفن را نزدیک منبع صدا نگه دارید.
  4. اجازه دهید چند ثانیه از موسیقی پخش شود.
  5. نتیجه نمایش‌داده‌شده را بررسی کنید.
  6. نام خواننده، آلبوم و نسخه آهنگ را با نمونه خود مقایسه کنید.

تشخیص آهنگ در iPhone و iPad

در دستگاه‌های اپل می‌توانید قابلیت Recognize Music را به Control Center اضافه کنید.

طبق راهنمای رسمی Apple، مراحل کلی چنین است:

  1. Control Center را باز کنید.
  2. گزینه افزودن کنترل را انتخاب کنید.
  3. Recognize Music را اضافه کنید.
  4. هنگام پخش آهنگ روی آن بزنید.
  5. برای مشاهده سابقه، گزینه تشخیص موسیقی را لمس طولانی کنید.

این روش زمانی مفید است که آهنگ داخل یک ویدئو یا برنامه روی همان تلفن پخش می‌شود.

تشخیص آهنگ در Android

نسخه Android شزم امکان تشخیص آهنگ معمولی، دسترسی از نوار اعلان و Pop-Up Shazam را ارائه می‌دهد. قابلیت Pop-Up برای شناسایی موسیقی پخش‌شده داخل برنامه دیگر کاربردی است.

جزئیات راه‌اندازی این امکانات در راهنمای رسمی استفاده از Shazam در Android ارائه شده است.

تشخیص آهنگ در مرورگر

اگر موسیقی داخل یک صفحه وب پخش می‌شود، می‌توانید از نسخه وب یا افزونه مرورگر استفاده کنید. براساس راهنمای رسمی Shazam برای وب، افزونه مرورگرهای مبتنی بر Chromium می‌تواند آهنگ در حال پخش در همان Tab را شناسایی کند.

این قابلیت برای موارد زیر مفید است:

  • ویدئوی یوتیوب
  • کلیپ داخل سایت
  • پخش‌کننده آنلاین
  • تریلر فیلم
  • تبلیغ ویدئویی
  • موسیقی داخل شبکه‌های اجتماعی تحت وب

چگونه نتیجه Shazam را بهتر کنیم؟

اگر شزم در اولین تلاش نتیجه نداد، این نکات را امتحان کنید:

بخش واضح‌تری از آهنگ را پخش کنید

قسمتی را انتخاب کنید که:

  • موسیقی بلندتر است
  • صدای گفتگو کمتر است
  • افکت صوتی وجود ندارد
  • ریتم یا ملودی اصلی شنیده می‌شود
  • خواننده واضح‌تر می‌خواند

مدت بیشتری پخش کنید

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

صدا را بیش از حد بلند نکنید

صدای بسیار بلند ممکن است در بلندگو یا میکروفون اعوجاج ایجاد کند. سطح صدا را طوری تنظیم کنید که واضح باشد، اما خش یا Distortion ایجاد نشود.

از بلندگوی دیگری استفاده کنید

اگر آهنگ روی همان دستگاه پخش می‌شود و تشخیص داخلی کار نمی‌کند، آن را روی یک دستگاه پخش و با دستگاه دوم شناسایی کنید.

چند بخش مختلف را آزمایش کنید

مقدمه، بخش اصلی، اوج آهنگ و قسمت دارای صدای خواننده را جداگانه امتحان کنید.

روش دوم: پیدا کردن آهنگ با زمزمه در Google

اگر آهنگ در حال پخش نیست و فقط ملودی آن را به خاطر دارید، قابلیت Hum to Search گوگل می‌تواند کمک کند.

گوگل توضیح می‌دهد که مدل‌های یادگیری ماشین، زمزمه، سوت یا آواز کاربر را به یک دنباله عددی نمایش‌دهنده ملودی تبدیل می‌کنند. سپس این الگو با ملودی آهنگ‌ها مقایسه می‌شود. جزئیات این فناوری در معرفی رسمی Hum to Search منتشر شده است.

روش استفاده

  1. برنامه Google را در تلفن باز کنید.
  2. روی آیکون میکروفون بزنید.
  3. ملودی را حدود ۱۰ تا ۱۵ ثانیه زمزمه، سوت یا آواز کنید.
  4. نتایج احتمالی را بررسی کنید.
  5. پیش‌نمایش آهنگ‌ها را با ملودی ذهنی خود مقایسه کنید.

گزینه Search a song را انتخاب کنید یا بگویید:

What's this song?

گوگل نیز در راهنمای قابلیت‌های برنامه Google پیشنهاد می‌کند کاربر برای چند ثانیه ملودی را زمزمه، سوت یا اجرا کند.

چگونه بهتر زمزمه کنیم؟

برای افزایش احتمال تطبیق:

  • سرعت ملودی را تقریباً ثابت نگه دارید
  • بخش شناخته‌شده و تکرارشونده آهنگ را اجرا کنید
  • در محیط آرام ضبط کنید
  • از ضرب گرفتن یا خواندن چند صدای مختلف هم‌زمان خودداری کنید
  • اگر بار اول نتیجه نگرفتید، با سرعت کمی متفاوت امتحان کنید
  • بخش Chorus یا ملودی اصلی را زمزمه کنید
  • لازم نیست صدای خوبی داشته باشید؛ حفظ الگوی ملودی مهم‌تر است

روش سوم: استفاده از SoundHound برای آهنگ، آواز و زمزمه

SoundHound نیز می‌تواند موسیقی پخش‌شده، آواز یا زمزمه را بررسی کند.

براساس مرکز راهنمای رسمی SoundHound، این ابزار برای موسیقی در حال پخش، خواندن و زمزمه قابل استفاده است.

روش کار:

  1. برنامه SoundHound را باز کنید.
  2. روی دکمه نارنجی اصلی بزنید.
  3. آهنگ را پخش یا ملودی را زمزمه کنید.
  4. چند ثانیه منتظر بمانید.
  5. نتایج را با نمونه موردنظر مقایسه کنید.

اگر ملودی را به خاطر دارید اما متن آهنگ را نمی‌دانید، بهتر است هم Google Hum to Search و هم SoundHound را آزمایش کنید؛ زیرا بانک اطلاعات و الگوریتم‌های تطبیق آن‌ها یکسان نیست.

روش چهارم: پیدا کردن نام آهنگ داخل ویدئو

اگر آهنگ در یک فایل ویدئویی یا کلیپ شبکه اجتماعی قرار دارد، ابتدا باید بهترین بخش صدا را برای تشخیص آماده کنید.

روش ساده با دو دستگاه

  1. ویدئو را روی لپ‌تاپ یا یک تلفن پخش کنید.
  2. برنامه تشخیص موسیقی را روی تلفن دوم باز کنید.
  3. بخشی را پخش کنید که موسیقی واضح‌تر است.
  4. نتیجه را بررسی کنید.

روش تشخیص روی همان دستگاه

بسته به سیستم‌عامل می‌توانید از امکاناتی مانند:

  • Recognize Music در iPhone
  • Pop-Up Shazam در Android
  • نوار اعلان Shazam
  • افزونه مرورگر
  • نسخه وب Shazam

استفاده کنید.

استخراج صدا از ویدئو

اگر سرویس هنگام پخش مستقیم نتیجه نمی‌دهد، صدای ویدئو را جدا کنید.

نمونه دستور FFmpeg:

ffmpeg -i input-video.mp4 -vn -acodec mp3 extracted-audio.mp3

در این دستور:

  • input-video.mp4 فایل ویدئویی است
  • -vn جریان ویدئو را حذف می‌کند
  • extracted-audio.mp3 فایل صوتی خروجی است

سپس بخش مناسب را جدا کنید:

ffmpeg -ss 00:00:18 -to 00:00:45 \
-i extracted-audio.mp3 \
-c:a libmp3lame \
song-sample.mp3

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

روش پنجم: پیدا کردن آهنگ از روی متن ناقص

گاهی فقط چند کلمه از متن آهنگ را می‌دانید. حتی اگر کلمات کامل یا دقیق نباشند، می‌توان با یک فرایند مرحله‌ای به نتیجه رسید.

اطلاعات را همان‌طور که شنیده‌اید بنویسید

برای مثال:

فکر می‌کنم خواننده می‌گفت:
I never want to ... without you tonight

خواننده احتمالاً مرد بود.
آهنگ آرام و انگلیسی بود.
در یک ویدئوی قدیمی شنیدم.

از هوش مصنوعی بخواهید نسخه‌های احتمالی بسازد

بخشی از یک ترانه انگلیسی را شنیده‌ام، اما ممکن است کلمات را اشتباه متوجه شده باشم:

"I never want to ... without you tonight"

ویژگی‌های آهنگ:
- خواننده مرد
- ریتم آرام
- احتمالاً پاپ
- احتمالاً مربوط به قبل از سال ۲۰۲۰

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

عبارات متمایز را جست‌وجو کنید

کلمات عمومی مانند love، night یا baby به‌تنهایی نتایج زیادی دارند. بخشی را جست‌وجو کنید که ترکیب خاص‌تری دارد.

نمونه:

lyrics "waiting by the old train station"

اگر از کلمه‌ای مطمئن نیستید، آن را حذف کنید و بقیه عبارت را جست‌وجو کنید.

پیدا کردن آهنگ فارسی از روی چند کلمه

برای آهنگ فارسی ممکن است شکل نوشتاری متن با چیزی که شنیده‌اید متفاوت باشد.

برای مثال، عبارت شنیده‌شده ممکن است به چند صورت نوشته شود:

تو که رفتی
وقتی تو رفتی
از وقتی رفتی
همون روزی که رفتی

پرامپت پیشنهادی:

این بخش ناقص از یک آهنگ فارسی است و ممکن است بعضی کلمات را اشتباه شنیده باشم:

«از وقتی رفتی ... خونه ساکته»

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

برای جست‌وجوی دقیق‌تر، اطلاعات زیر را نیز اضافه کنید:

  • صدای خواننده زن یا مرد
  • سنتی، پاپ، رپ یا محلی بودن
  • شاد یا غمگین بودن
  • جدید یا قدیمی بودن
  • تک‌خوان یا هم‌خوانی
  • شنیده شدن در فیلم یا سریال
  • ساز شاخص
  • لهجه یا گویش

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

پیش از استفاده از ابزارهای خارجی، اطلاعات خود پست یا ریلز را بررسی کنید.

موارد قابل بررسی

  • نام Audio یا Original Audio
  • توضیحات پست
  • هشتگ‌ها
  • کامنت‌های کاربران
  • حساب سازنده صدا
  • صفحه صوت استفاده‌شده
  • نسخه‌های دیگر همان ترند

اگر عنوان Original Audio نمایش داده می‌شود، به معنی تولید اختصاصی بودن موسیقی نیست. ممکن است کاربر یک آهنگ منتشرشده را دوباره روی ویدئو قرار داده باشد.

فرایند پیشنهادی

  1. نام Audio را بررسی کنید.
  2. توضیحات و کامنت‌ها را جست‌وجو کنید.
  3. بخش واضح کلیپ را پخش کنید.
  4. از Pop-Up Shazam یا دستگاه دوم استفاده کنید.
  5. اگر نتیجه نگرفتید، کلیپ را ذخیره و صدا را استخراج کنید.
  6. صدای گفتگو را تا حد ممکن کاهش دهید.
  7. چند کلمه از ترانه را استخراج کنید.
  8. نتیجه‌های احتمالی را در موتور جست‌وجو تأیید کنید.

روش هفتم: پیدا کردن موسیقی فیلم و سریال

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

این موارد را یادداشت کنید:

  • نام فیلم یا سریال
  • شماره فصل
  • شماره قسمت
  • زمان تقریبی پخش آهنگ
  • توضیح صحنه
  • وجود یا نبود خواننده
  • متن احتمالی
  • تیتراژ آغاز یا پایان
  • موسیقی داخل صحنه یا موسیقی متن بودن

عبارت‌های جست‌وجوی مناسب:

نام سریال season 2 episode 4 song
نام فیلم restaurant scene soundtrack
نام سریال episode 6 ending song
نام فیلم credits music

هوش مصنوعی نیز می‌تواند توضیح شما را به عبارت جست‌وجوی دقیق تبدیل کند:

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

براساس این اطلاعات:
1. عبارت‌های جست‌وجوی انگلیسی مناسب بساز.
2. تفاوت بین Score، Soundtrack و آهنگ داخل صحنه را در جست‌وجو لحاظ کن.
3. برای تأیید نتیجه یک چک‌لیست ارائه بده.

تفاوت Score، Soundtrack و آهنگ داخل صحنه

برای جست‌وجوی دقیق، این اصطلاحات مفید هستند:

Score

موسیقی متن ساخته‌شده برای فضای خود فیلم یا سریال است و معمولاً توسط آهنگ‌ساز اثر تولید می‌شود.

Soundtrack

می‌تواند به مجموعه موسیقی‌های استفاده‌شده در فیلم، شامل Score و آهنگ‌های منتشرشده اشاره کند.

Source Music یا Diegetic Music

موسیقی‌ای است که در جهان داستان نیز پخش می‌شود؛ برای مثال آهنگ داخل رادیوی خودرو یا موسیقی رستوران.

اگر قطعه بدون خواننده و مخصوص صحنه به نظر می‌رسد، نام آهنگ‌ساز و فهرست Score را بررسی کنید.

روش هشتم: پیدا کردن نسخه اصلی یک ریمیکس

یکی از سخت‌ترین موارد، تشخیص نسخه‌های تغییر‌یافته است؛ مانند:

  • Slowed
  • Sped Up
  • Reverb
  • Nightcore
  • Remix
  • Mashup
  • Cover
  • اجرای زنده
  • نسخه بی‌کلام
  • نسخه تغییر گام‌داده‌شده

در این حالت ممکن است ابزار نام نسخه اصلی، نام ریمیکس یا هیچ نتیجه‌ای ارائه ندهد.

روش عملی

  1. توضیحات ویدئو را برای واژه‌های remix، slowed یا sped up بررسی کنید.
  2. بخش دارای صدای خواننده را جدا کنید.
  3. چند کلمه از متن را استخراج کنید.
  4. سرعت فایل را به حالت طبیعی نزدیک کنید.
  5. دوباره از ابزار تشخیص موسیقی استفاده کنید.
  6. نتیجه را با نسخه اصلی مقایسه کنید.
  7. عبارت زیر را جست‌وجو کنید:
"بخشی از متن آهنگ" remix

اصلاح سرعت با FFmpeg

اگر تصور می‌کنید آهنگ سریع‌تر شده است، می‌توانید سرعت را آزمایشی کاهش دهید:

ffmpeg -i sped-up.mp3 \
-filter:a "atempo=0.9" \
normalized.mp3

اگر آهنگ کند شده است، سرعت را کمی افزایش دهید:

ffmpeg -i slowed.mp3 \
-filter:a "atempo=1.1" \
normalized.mp3

مقادیر را باید براساس نمونه تنظیم کنید. تغییر زیاد ممکن است کیفیت یا ریتم طبیعی آهنگ را خراب کند.

چگونه صدای گفتگو را از روی موسیقی کمتر کنیم؟

وجود دیالوگ، صدای محیط یا گوینده می‌تواند تشخیص آهنگ را دشوار کند.

راه‌حل‌های ممکن:

  • انتخاب بخشی بدون گفتگو
  • استفاده از نسخه دیگری از همان کلیپ
  • کاهش کانال مرکزی در فایل استریو
  • جداسازی Vocal و Instrumental
  • استفاده از ابزارهای Source Separation
  • کاهش نویز محیط
  • استخراج بخش دارای ملودی واضح‌تر

توجه کنید که جداسازی صدا همیشه بی‌نقص نیست. اگر گفتار و موسیقی در فرکانس‌های مشابه قرار داشته باشند، خروجی ممکن است دارای اعوجاج شود.

بهتر است هر دو نسخه را آزمایش کنید:

  • فایل اصلی
  • فایل پردازش‌شده

گاهی اثر انگشت صوتی در نسخه اصلی بهتر حفظ شده است.

چرا ابزار نام آهنگ را پیدا نمی‌کند؟

آهنگ در بانک اطلاعات موجود نیست

قطعات منتشرنشده، محلی، سفارشی یا تولیدشده برای یک ویدئو ممکن است در فهرست سرویس وجود نداشته باشند.

نمونه بیش از حد کوتاه است

چند ثانیه صدای نامشخص ممکن است ویژگی کافی برای تطبیق نداشته باشد.

صدای محیط زیاد است

صحبت افراد، صدای خودرو یا نویز می‌تواند ویژگی صوتی آهنگ را بپوشاند.

نسخه شنیده‌شده تغییر کرده است

تغییر سرعت، گام، افکت یا ترکیب با آهنگ دیگر ممکن است تطبیق را دشوار کند.

موسیقی بسیار عمومی است

برخی موسیقی‌های پس‌زمینه از الگوهای مشابه استفاده می‌کنند و تشخیص آن‌ها از نمونه کوتاه دشوار است.

آهنگ تولیدشده با هوش مصنوعی است

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

فایل چند آهنگ را ترکیب کرده است

Mashupها می‌توانند شامل چند قطعه باشند. بخش‌های مختلف فایل را جداگانه بررسی کنید.

استفاده از هوش مصنوعی برای تحلیل سرنخ‌های آهنگ

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

می‌خواهم نام یک آهنگ را پیدا کنم.

اطلاعات من:
- زبان احتمالی:
- خواننده زن یا مرد:
- سبک:
- سرعت:
- حال‌وهوا:
- سازهای قابل تشخیص:
- سال تقریبی:
- محل شنیدن:
- متن ناقص:
- توضیح ملودی:
- آیا نسخه ریمیکس بود:
- نتیجه ابزارهای تشخیص موسیقی:

ابتدا اطلاعات را تحلیل کن.
اگر برای محدود کردن گزینه‌ها به اطلاعات بیشتری نیاز داری، حداکثر پنج سؤال دقیق بپرس.
سپس حداکثر 10 آهنگ احتمالی را همراه با دلیل پیشنهاد بده.
گزینه‌ها را براساس میزان تطابق مرتب کن و پاسخ قطعی نساز.
برای هر گزینه یک عبارت جست‌وجوی مناسب ارائه بده.

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

پرامپت تشخیص زبان و سبک آهنگ

براساس متن ناقص و توضیحات زیر، زبان، سبک و دوره احتمالی آهنگ را بررسی کن.

متن شنیده‌شده:
[متن]

ویژگی‌های صدا:
[توضیحات]

سازهای قابل تشخیص:
[توضیحات]

نتیجه را در سه بخش ارائه بده:
1. مشاهدات نسبتاً مطمئن
2. حدس‌های محتمل
3. اطلاعاتی که برای تشخیص دقیق‌تر لازم است

پرامپت مقایسه چند نتیجه احتمالی

برای یک نمونه صوتی، ابزارهای مختلف این گزینه‌ها را پیشنهاد داده‌اند:

1. [نام گزینه اول]
2. [نام گزینه دوم]
3. [نام گزینه سوم]

سرنخ‌های واقعی من:
- بخشی از متن:
- نوع خواننده:
- سبک:
- سرعت:
- سال تقریبی:
- محل شنیدن:

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

ساخت دستیار پیدا کردن آهنگ با API درواره

توسعه‌دهندگان می‌توانند یک دستیار نرم‌افزاری بسازند که اطلاعات پراکنده کاربر را جمع‌آوری کند و آن‌ها را به یک جست‌وجوی ساخت‌یافته تبدیل کند.

درواره زیرساخت API دسترسی به مدل‌های هوش مصنوعی را فراهم می‌کند. مدل زبانی می‌تواند در بخش‌های زیر استفاده شود:

  • اصلاح متن ناقص ترانه
  • تشخیص زبان متن
  • استخراج سرنخ‌ها
  • تولید عبارت‌های جست‌وجو
  • پرسیدن سؤال تکمیلی
  • مقایسه نتیجه چند سرویس
  • رتبه‌بندی آهنگ‌های احتمالی
  • توضیح تفاوت نسخه اصلی و ریمیکس
  • ساخت پاسخ فارسی برای کاربر

برای تشخیص قطعی آهنگ براساس Audio Fingerprint باید از یک سرویس تخصصی تشخیص موسیقی یا بانک صوتی مناسب نیز استفاده شود. مدل زبانی به‌تنهایی جایگزین کامل سامانه Fingerprinting نیست.

معماری پیشنهادی سامانه

ورودی کاربر
    ↓
فایل صوتی، متن ناقص یا توضیحات
    ↓
پردازش اولیه صدا
    ↓
سرویس تشخیص موسیقی
    ↓
نتیجه‌های احتمالی
    ↓
تحلیل و رتبه‌بندی با API درواره
    ↓
پرسش تکمیلی از کاربر
    ↓
نمایش نتیجه همراه با میزان اطمینان

اگر فایل دارای گفتار است، می‌توان مرحله تبدیل گفتار به متن را نیز اضافه کرد:

فایل صوتی
    ↓
تبدیل گفتار به متن
    ↓
استخراج کلمات ترانه
    ↓
اصلاح متن با مدل زبانی
    ↓
جست‌وجو و رتبه‌بندی نتیجه‌ها

نمونه درخواست به API درواره با cURL

در این نمونه، اطلاعات استخراج‌شده از فایل صوتی برای تحلیل به مدل ارسال می‌شود:

curl https://api.darvareh.ir/v1/chat/completions \
  -H "Authorization: Bearer YOUR_DARVAREH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_MODEL_ID",
    "temperature": 0.2,
    "messages": [
      {
        "role": "system",
        "content": "تو دستیار جست‌وجوی موسیقی هستی. گزینه‌های احتمالی را براساس شواهد رتبه‌بندی کن و بدون مدرک پاسخ قطعی نده."
      },
      {
        "role": "user",
        "content": "می‌خواهم نام یک آهنگ را پیدا کنم. خواننده احتمالاً مرد است، آهنگ انگلیسی و آرام است، صدای پیانو دارد و متن تقریبی آن شامل عبارت waiting for you to come home است. پنج گزینه محتمل همراه با دلیل، میزان اطمینان و عبارت جست‌وجوی پیشنهادی ارائه بده."
      }
    ]
  }'

در کد بالا:

  • YOUR_DARVAREH_API_KEY با کلید API درواره جایگزین می‌شود
  • YOUR_MODEL_ID همان Model ID انتخاب‌شده از درواره است
  • مدل نباید بدون شواهد کافی یک آهنگ را قطعی معرفی کند
  • خروجی باید به‌عنوان فهرست احتمالات در نظر گرفته شود

برای مشاهده مدل‌ها، قابلیت‌ها و قیمت به‌روز آن‌ها به صفحه مدل‌های درواره مراجعه کنید.

نمونه پیاده‌سازی با Python

import requests

API_KEY = "YOUR_DARVAREH_API_KEY"
MODEL_ID = "YOUR_MODEL_ID"

clues = {
    "language": "English",
    "singer": "male",
    "style": "slow pop",
    "instruments": ["piano"],
    "approximate_lyrics": "waiting for you to come home",
    "heard_in": "short social media video",
    "recognition_results": []
}

prompt = f"""
براساس سرنخ‌های زیر، برای پیدا کردن آهنگ به کاربر کمک کن:

{clues}

وظایف:
1. متن ناقص را بررسی و نسخه‌های احتمالی آن را پیشنهاد کن.
2. حداکثر پنج آهنگ احتمالی معرفی کن.
3. برای هر گزینه دلیل و میزان اطمینان بنویس.
4. عبارت جست‌وجوی دقیق ارائه بده.
5. اگر اطلاعات کافی نیست، سؤال‌های تکمیلی پیشنهاد کن.
6. هیچ نتیجه‌ای را بدون شواهد کافی قطعی اعلام نکن.
"""

response = requests.post(
    "https://api.darvareh.ir/v1/chat/completions",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json",
    },
    json={
        "model": MODEL_ID,
        "temperature": 0.2,
        "messages": [
            {
                "role": "system",
                "content": "تو یک دستیار فارسی برای جست‌وجو و شناسایی موسیقی هستی.",
            },
            {
                "role": "user",
                "content": prompt,
            },
        ],
    },
    timeout=120,
)

response.raise_for_status()

data = response.json()
answer = data["choices"][0]["message"]["content"]

print(answer)

در نسخه عملیاتی، بهتر است نتایج یک سرویس تشخیص صوتی نیز به recognition_results اضافه شوند تا مدل بتواند آن‌ها را مقایسه کند.

خروجی JSON پیشنهادی

برای اتصال پاسخ به رابط کاربری، خروجی ساخت‌یافته مناسب‌تر است:

{
  "status": "needs_verification",
  "detected_language": "English",
  "corrected_lyric_variants": [
    "waiting for you to come home"
  ],
  "candidates": [
    {
      "title": "Candidate Song",
      "artist": "Candidate Artist",
      "confidence": 62,
      "supporting_evidence": [
        "خواننده مرد",
        "سبک آرام",
        "وجود عبارت مشابه در متن"
      ],
      "conflicting_evidence": [
        "سال تولید هنوز مشخص نیست"
      ],
      "search_query": "\"waiting for you to come home\" lyrics male singer"
    }
  ],
  "follow_up_questions": [
    "آیا آهنگ جدید بود یا قدیمی؟",
    "آیا صدای گیتار نیز شنیده می‌شد؟"
  ]
}

مقدار confidence بهتر است نمایانگر میزان تطابق سرنخ‌ها باشد، نه احتمال آماری قطعی.

طراحی تجربه کاربری ابزار تشخیص آهنگ

یک رابط کاربردی می‌تواند چند مسیر ورودی داشته باشد.

حالت اول: آهنگ در حال پخش است

کاربر مستقیماً تشخیص موسیقی را فعال می‌کند.

حالت دوم: فایل صوتی یا ویدئو دارد

کاربر فایل را بارگذاری می‌کند و بخش موردنظر را مشخص می‌کند.

حالت سوم: فقط ملودی را به خاطر دارد

کاربر صدای زمزمه خود را ضبط می‌کند.

حالت چهارم: فقط متن ناقص دارد

کاربر چند کلمه احتمالی را همراه با زبان و نوع خواننده وارد می‌کند.

حالت پنجم: آهنگ مربوط به فیلم یا سریال است

کاربر نام اثر، فصل، قسمت، زمان و توضیح صحنه را وارد می‌کند.

در صفحه نتیجه بهتر است این موارد نمایش داده شوند:

  • نام احتمالی آهنگ
  • نام خواننده
  • نسخه احتمالی
  • میزان اطمینان
  • دلیل پیشنهاد
  • موارد ناسازگار
  • عبارت جست‌وجوی تکمیلی
  • امکان اعلام درست یا اشتباه بودن نتیجه

چگونه هزینه پردازش را کاهش دهیم؟

اگر قصد دارید یک سامانه پرترافیک بسازید، این روش‌ها مفید هستند:

  • پیش از مدل زبانی از تطبیق مستقیم موسیقی استفاده کنید
  • نتیجه درخواست‌های تکراری را Cache کنید
  • مدت فایل صوتی را محدود کنید
  • فقط بخش واضح موسیقی را پردازش کنید
  • فایل را پیش از ارسال به فرمت و Bitrate مناسب تبدیل کنید
  • از ارسال چند نسخه یکسان خودداری کنید
  • مدل اقتصادی‌تر را برای تحلیل اولیه به کار ببرید
  • فقط نتایج مبهم را به مدل قوی‌تر بفرستید
  • خروجی مدل را کوتاه و ساخت‌یافته نگه دارید
  • سرنخ‌های استخراج‌شده را ذخیره کنید

نکات حریم خصوصی هنگام ارسال فایل صوتی

فایل صوتی ممکن است علاوه بر موسیقی، شامل مکالمه یا اطلاعات شخصی باشد.

پیش از بارگذاری:

  • بخش‌های غیرضروری را حذف کنید
  • مکالمات خصوصی را ارسال نکنید
  • فقط قسمت موسیقی را جدا کنید
  • Metadata غیرضروری فایل را پاک کنید
  • شرایط نگهداری داده سرویس را بخوانید
  • فایل را بیش از مدت موردنیاز ذخیره نکنید

اگر فقط چند ثانیه از موسیقی برای تشخیص کافی است، نیازی به ارسال کل ویدئو یا صدای طولانی وجود ندارد.

اشتباهات رایج در پیدا کردن آهنگ

تکرار یک روش بدون تغییر ورودی

اگر نمونه صوتی نامناسب است، ده بار اجرای همان ابزار نتیجه را بهتر نمی‌کند. بخش دیگری از آهنگ را انتخاب کنید.

استفاده از زمزمه نامنظم

تغییر مداوم سرعت و ملودی باعث کاهش دقت تطبیق می‌شود.

اعتماد به اولین نتیجه

گاهی نسخه‌ای مشابه یا کاور آهنگ تشخیص داده می‌شود. نام خواننده و صدای نسخه را مقایسه کنید.

نادیده گرفتن توضیحات ویدئو

ممکن است نام آهنگ از ابتدا در بخش Audio، توضیحات، تیتراژ یا کامنت‌ها وجود داشته باشد.

جست‌وجوی متن بسیار عمومی

چند کلمه رایج هزاران نتیجه ایجاد می‌کنند. ترکیب متمایزتری از متن را انتخاب کنید.

تصور اینکه تمام آهنگ‌ها منتشر شده‌اند

موسیقی ممکن است اختصاصی، تولیدشده با هوش مصنوعی، بخشی از یک کتابخانه صوتی یا ساخته‌شده برای همان ویدئو باشد.

اشتباه گرفتن نسخه اصلی با ریمیکس

سرعت، ضرب و صدای خواننده را با نسخه اصلی مقایسه کنید.

چک‌لیست سریع تشخیص آهنگ

اگر می‌خواهید سریع‌تر نتیجه بگیرید، این ترتیب را اجرا کنید:

  1. اطلاعات Audio و توضیحات ویدئو را بررسی کنید.
  2. بخش واضح آهنگ را پیدا کنید.
  3. Shazam را روی همان بخش اجرا کنید.
  4. در صورت نیاز از دستگاه دوم استفاده کنید.
  5. بخش‌های دیگر آهنگ را امتحان کنید.
  6. اگر فقط ملودی را به خاطر دارید، از Hum to Search استفاده کنید.
  7. SoundHound را نیز آزمایش کنید.
  8. چند کلمه از ترانه را استخراج کنید.
  9. متن احتمالی را با هوش مصنوعی اصلاح کنید.
  10. زبان، سبک و نوع خواننده را به جست‌وجو اضافه کنید.
  11. احتمال ریمیکس یا تغییر سرعت را بررسی کنید.
  12. نتیجه را با شنیدن نسخه پیشنهادی تأیید کنید.

پرسش‌های متداول

بهترین برنامه پیدا کردن آهنگ از روی صدا چیست؟

برای آهنگ اصلی و واضح، Shazam یکی از اولین گزینه‌هاست. اگر فقط ملودی را به خاطر دارید، Google Hum to Search و SoundHound می‌توانند مناسب‌تر باشند.

چگونه آهنگی را که در اینستاگرام پخش می‌شود پیدا کنیم؟

ابتدا نام Audio و توضیحات ریلز را بررسی کنید. سپس از Pop-Up Shazam، قابلیت تشخیص موسیقی تلفن یا یک دستگاه دوم استفاده کنید. اگر نتیجه نگرفتید، صدای کلیپ را استخراج و بخش واضح‌تر را جدا کنید.

آیا می‌توان آهنگ را با زمزمه پیدا کرد؟

بله. Google Hum to Search و SoundHound برای تشخیص ملودی زمزمه‌شده طراحی شده‌اند. حفظ ریتم و ملودی اصلی از کیفیت صدای خوانندگی مهم‌تر است.

اگر متن آهنگ را اشتباه شنیده باشیم چه کنیم؟

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

چرا Shazam آهنگ را پیدا نمی‌کند؟

ممکن است آهنگ در بانک اطلاعات موجود نباشد، نمونه کوتاه یا بی‌کیفیت باشد، صدای گفتگو روی آن قرار گرفته باشد یا نسخه تغییر سرعت‌یافته و ریمیکس باشد.

آیا Shazam آهنگ داخل هدفون را تشخیص می‌دهد؟

قابلیت‌ها به دستگاه و سیستم‌عامل بستگی دارند. Shazam در برخی دستگاه‌ها می‌تواند موسیقی پخش‌شده در برنامه دیگر یا از طریق هدفون را شناسایی کند. راهنمای رسمی دستگاه خود را بررسی کنید.

آیا هوش مصنوعی می‌تواند آهنگ بی‌کلام را پیدا کند؟

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

آیا می‌توان نام آهنگ را از روی یک ویدئو پیدا کرد؟

بله. می‌توانید آهنگ را هنگام پخش ویدئو شناسایی کنید یا ابتدا صدای ویدئو را استخراج کرده و بخش واضح موسیقی را جداگانه بررسی کنید.

آیا درواره خودش مانند Shazam آهنگ را تشخیص می‌دهد؟

درواره زیرساخت API مدل‌های هوش مصنوعی است و یک بانک اختصاصی اثر انگشت موسیقی مانند Shazam محسوب نمی‌شود. می‌توان از API درواره برای تحلیل متن، اصلاح Lyrics، ساخت عبارت جست‌وجو، مقایسه نتیجه‌ها و ایجاد دستیار هوشمند تشخیص موسیقی استفاده کرد.

جمع‌بندی

پیدا کردن آهنگ از روی صدا با هوش مصنوعی فقط به یک روش محدود نیست. اگر فایل اصلی و واضح در اختیار دارید، ابزارهای تشخیص مبتنی بر اثر انگشت صوتی مانند Shazam معمولاً بهترین نقطه شروع هستند. اگر تنها ملودی را به خاطر دارید، Google Hum to Search یا SoundHound را امتحان کنید. برای متن ناقص، موسیقی داخل فیلم، ریمیکس یا نمونه‌های دارای گفت‌وگو نیز می‌توان از ترکیب پردازش صدا، جست‌وجوی متن و مدل‌های زبانی استفاده کرد.

بهترین فرایند این است:

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

اگر می‌خواهید یک ربات، سایت یا اپلیکیشن فارسی برای تحلیل سرنخ‌های موسیقی، اصلاح متن ترانه و رتبه‌بندی نتایج بسازید، می‌توانید از API هوش مصنوعی درواره استفاده کنید. برای انتخاب Model ID مناسب و مشاهده قیمت به‌روز مدل‌ها، صفحه مدل‌های درواره را ببینید.

مقالات مرتبط

برای مطالعه شرایط استفاده و محدودیت‌های مسئولیت، صفحه «سلب مسئولیت» را مشاهده کنید.

Read more

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی با ترکیب گردش‌کارهای خودکار و مدل‌های هوش مصنوعی، پردازش متن، دسته‌بندی، استخراج اطلاعات و تصمیم‌های پیشنهادی را خودکار می‌کند. در این راهنما، معماری و ساخت نمونه عملی آن با API درواره را می‌آموزید.

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce شیوه‌ای جدید برای خرید اینترنتی است که در آن ایجنت هوش مصنوعی می‌تواند نیاز کاربر را بفهمد، محصولات را جست‌وجو و مقایسه کند و فرایند خرید را پیش ببرد. در این راهنما با معماری، UCP، ACP و پیاده‌سازی آن با API درواره آشنا می‌شوید.