پیدا کردن یک قطعه آهنگ با شنیدن بخشی از آن، نیاز به نمایهسازی مجموعه آهنگها دارد، درست مثل جستجوی واژهها.
۱. مقدمه:
گاهی در بین راه یا در رستوران , در تاکسی آهنگی را می شنویم که جذبمان می کند . اما نه می توانیم خواننده ی آن و نه متن آن را تشخیص بدهیم.
برای رفع این مشکل application هایی مانند shazam , google sound search وجود دارد که با پخش موزیک برای آن , مشخصات موزیک مربوطه را پیدا
می کند.
Shazam Entertainment Ltd:
یک شرکت توسعه نرم افزار بریتانیا است که
برنامه ای را ایجاد می کند که می تواند موسیقی، فیلم، تبلیغات و برنامه های
تلویزیونی را براساس نمونه ای کوتاه و با استفاده از میکروفون در دستگاه شناسایی
کند. این نرم افزار برای ویندوز، macOS و گوشی های هوشمند در دسترس است
Google sound search :
برنامه ای برای دستگاهای اندرویدی است که به صورت widget قابل استفاده است که پخش موزیک
برای آن , نام و خواننده ی موزیک مربوطه
را به کاربر اعلام می کند.
این application ها علاوه بر تطبیق دادن صدا با آهنگ مربوطه , می بایست noise را از صدای پخش شده نیز بگیرد .
در این نوع application ها کار اصلی تبدیل سیگنال پیوسته به گسسته است که امروزه کارت صدای کامپیوتر ها این کار را انجام می دهند.
۲. کارهای مرتبط:
در این برنامه ها کار اصلی تبدیل سیگنال دیجیتال به آنالوگ است.
فررض کنید سیگنال زیر به عنوان ورودی به برنامه داده می شود.
کامپیوتر سیگنال ورودی را در هر مدت زمان مشخص 1 بار که به آن sample rate گفته می شود از ورودی می خواند و ذخیره می کند.که به آن sample ' گفته می شود.
ب طور مثال اگر sample rate 1 باشد , شکل سیگنال به صورت زیر خواهد شد.
اصولا sample rate می بایست 2 برابر بیشترین فرکانس صورت باشد (44,100khz)
2.1. Time-Domain and Frequency-Domain:
دامنه ی ما می تواند زمان یا فرکانس باشد. الگوریتم اجرای این برنامه نیاز به دامنه ی فرکانسی دارد. از این رو باید دامنه را فرکانسی کنیم
برای این کار از تبدیل فوریه گسسته استفاده می کنیم .
حال هر کدام از sample هارا دسته بندی می کنیم. هر چند sample یک data chunck است .
برنامه با استفده از این data chunck ها موزیک را سرچ می کند.
۳. آزمایشها
۴. کارهای آینده
۵. مراجع
https://www.bbc.co.uk/education/guides/zpfdwmn/revision/3
https://www.toptal.com/algorithms/shazam-it-music-processing-fingerprinting-and-recognition
https://en.wikipedia.org/wiki/Time_domain
https://en.wikipedia.org/wiki/Sampling_%28signal_processing%29
??? ????? ???????? ?????? ??? ???????? ???????