AnalizMobil

SHAZAM MİLYONLARCA ŞARKI ARASINDA DİNLETTİĞİMİZ ŞARKIYI NASIL BULUYOR?

Shazam günlük hayatta karşımıza çıkan şarkıları saniyeler içinde bulmamıza yarayan bir uygulama. Çoğumuz Shazam’ı akıllı telefonlar sayesinde tanımış olsa da Shazam aslında 2000’lerin başından beri hayatımızda.
Mobil uygulamalar öncesi Shazam bir operatör yardımıyla bu işi yapıyordu. 2580’i arayarak şarkıyı 10 saniye kadar dinletmeniz yeterli oluyordu ve ardından Shazam size dinlettiğiniz müzik hakkında bilgileri içeren bir mesaj gönderiyordu.
Peki Shazam bunları nasıl yapıyor?
Aslında algoritmanın temelinde ses tanımlama prensibimi yer almaktadır. Ses, parmak izi ve retina gibi kişiye özgü bir özelliktir. Ses adli bilişim alanına büyük katkılar sağlamıştır. Bu çalışmalar ise ses arama algoritması çalışmalarını doğurdu.
Fourier Dönüşümü ses sinyallerini daha kolay işlemek ve analiz etmek için işimizi oldukça kolaylaştıran integral dönüşümlerinden bir tanesidir. Bilgisayar bilimlerinde genelde kesikli matematik teorisine ihtiyaç duyulduğu için bu dönüşümün kesikli olanı kullanılır. Ayrıca sürekli dönüşüm yapılması da mümkündür. Kesikli fourirer dönüşümü esas olarak bir sinyali, bir dalga fonksiyonunu ya da herhangi bir matematiksel gösterimi zaman alanından (time domain), frekans alanına çevirmeye yarar. Böylelikle alınan sinyaller harmonik bir euler dalgalarına dönüştürür. Bu da aslında temel yapıda bir ses spektrumu oluşturulmasını sağlar. Bu dönüşümlerin kullanılması verilerin daha hızlı işlenmesi için kullanılmaktadır.
Bir zaman frekansı olan Spektrogram, bir sesin işlenmesi, kimlikleştirilmesi ve daha birçok işlemlerin yapılması için kolaylık sağlamaktadır. Bunun temel yapı taşları yukarıdaki formüller ve algoritmalar ile üretilmektedir ve bizi Akustik parmak izi konusuna getirmektedir. Akustik parmak izi, kısaca sesin kimliği diyebiliriz. Sesleri kimlikleştirmek, sesler arasında arama yapabilmek ve ses ile giriş işlemlerini sağlamakta temel yapı taşıdır.
Shazam, akustik parmak izi uygulayarak sesler arasında arama yapabilmektedir.
Gelelim Shazamın yazılım tarafında bu kadar bilgiyi nasıl kullandığına.
Time invariant (Zamanla değişmeyen sistem) düzlemde sampling alarak her frekansın bir hash ini veritabanına yazarak bu hashler arasında arama yapmaktadır. Bu hash arama işlemlerinde en çok eşleşmeyi sağlayan dinlediğiniz şarkı olarak düşünülmektedir.
Shazam her gün çıkan yüzlerce şarkıyı veritabanlarına bu yöntemi uygulayarak indexlemektedir. Böylelikle bu veriler arasında dinlettiğiniz müziği rahatlıkla bulabilmektedir.
Esmanur ÇERÇİ

Yorum Ekle