2 puan yazan GN⁺ 2023-12-06 | 1 yorum | WhatsApp'ta paylaş

Özet başlık: Shazam müzik tanıma teknolojisinin prensibi

Shazam nedir?

  • Shazam, çevrede çalan müziği tanımlayan bir uygulamadır.
  • Uygulama açılır ve müzik çalarken birkaç saniye boyunca ses kaydedilerek veritabanında arama yapılır.
  • Geçmişte hizmet telefon numarası üzerinden sunuluyordu; arama kalitesinin sınırlamaları nedeniyle müzik tanıma zor bir işti.

Müzik tanıma neden zordur?

  • Sinyal işlemeye aşina olmayanlar için, ses sinyalinin karmaşıklığı nedeniyle müzik tanıma zor bir problemdir.
  • Şarkının belirli bir bölümünü tüm parça içinde kaba kuvvet yöntemiyle bulmak çok yavaştır; ayrıca arka plan gürültüsü ve frekans etkileri gibi nedenlerle sinyalin biçimi büyük ölçüde değişebilir.

Sistem genel görünümü

  • Shazam, müziği kaydetme ve tanıma olmak üzere iki akışa ayrılır; her iki akış da spektrogram hesaplama, spektrogram içindeki zirveleri bulma ve zirveleri hash'leme gibi ortak adımlara sahiptir.
  • Kaydetme akışı hash'leri veritabanına depolar; tanıma akışı ise veritabanındaki hash'lerle karşılaştırarak çalmakta olan şarkıyı belirler.

Spektrogram hesaplama

  • Sesin spektrogramını elde etmek için Fourier dönüşümünü anlamak gerekir.
  • Fourier dönüşümü, seste hangi frekansların bulunduğunu gösterir; bu sayede frekansların zamana göre değişimini gösteren bir spektrogram oluşturulur.

Spektrogram

  • Spektrogram, zamana göre değişen frekansları daha iyi ifade etmek için şarkıyı küçük parçalara böler ve Fourier dönüşümünü uygular.
  • Spektrogram, zaman (X ekseni), frekans (Y ekseni) ve yoğunluk (Z ekseni/renk) içeren 3 boyutlu bir grafiktir.

Parmak izi oluşturma

  • Spektrogramda en büyük frekansları gösteren zirveler bulunarak sesin benzersiz parmak izi çıkarılır.
  • Bu zirveler gürültüye veya diğer bozulmalara dayanabildiği için parmak izi oluşturmaya uygundur.

Zirve bulma

  • Spektrogramdaki zirveler, sinyaldeki en güçlü frekansları gösterir ve ses parmak izinde kullanılabilmeleri için dengeli biçimde dağılmış olmalıdır.
  • Maksimum filtre tekniği kullanılarak spektrogramdaki zirveler vurgulanır ve konumları bulunur.

Hash'leme

  • Spektrogram zirvelerinin çiftleri oluşturularak hash üretilir; bu da benzersizliği artırır.
  • Hash, iki zirvenin frekanslarını ve zaman farkını içerir ve veritabanında saklanır.

Eşleştirme

  • Veritabanındaki parmak izi koleksiyonunda, verilen ses örneğiyle eşleşen parmak izlerini bulma süreci açıklanır.
  • Hash'ler aranır, sonra şarkıya göre gruplanır ve hash'lerin eşleşip eşleşmediği kontrol edilerek en çok eşleşen parça seçilir.

Sonuç

  • Shazam, şarkıları kaydetmek ve tanımak için spektrogram hesaplama, zirve çıkarımı, hash çifti üretimi ve parmak izi saklama gibi süreçlerden geçer.

GN⁺ görüşü

  • Bu yazıdaki en önemli nokta, Shazam'ın müziği tanıdığı karmaşık süreci anlaşılması kolay bir şekilde açıklaması.
  • Teknik ayrıntıların adım adım parçalanarak başlangıç seviyesindeki yazılım mühendislerinin de anlayabileceği hâle getirilmesi ilgi çekici ve etkileyicidir.

1 yorum

 
GN⁺ 2023-12-06
Hacker News görüşleri
  • Shazam'ın verimli hash tabanlı yaklaşımı

    2008'de Shazam piyasaya çıktığında, şarkıları hesaplama açısından verimli biçimde hash'e dönüştürmenin bir yolunu geliştirmek akıllıca bir yaklaşımdı. Bugün benzer bir hizmet piyasaya sürülse muhtemelen varsayılan olarak bir modeli eğitmeye dayalı bir Ar-Ge yaklaşımı benimsenirdi, ancak bu verimsiz ve maliyetli olabilir. Şarkı sayısı sonlu olduğu için hash tabanlı yaklaşım çok daha iyi performans gösterebilir.

  • Shazam'ın kalıcı, sihirli çekiciliği

    Shazam, 20 yılı aşkın süredir hâlâ sihirli hissettiren ender ürünlerden biri ve teknologların ulaşmaya çalışması gereken bir hedef.

  • Shazam'ın nasıl çalıştığını anlatan Wall Street Journal videosu

    Wall Street Journal'ın hazırladığı, Shazam'ın kendine özgü ses parmak izini nasıl oluşturduğunu anlatan harika bir video var.

  • Chromaprint ve AcoustID açıklaması

    Chromaprint, spektrumdaki maksimum değerlere değil perde değişimi örüntülerine dayanarak çalışır ve MusicBrainz kayıtlarını ses parmak izleriyle eşleyen büyük açık veritabanı AcoustID'de kullanılır. Shazam kadar ticari destek almamasına rağmen veritabanında bu kadar çok müzik bulunması şaşırtıcı.

  • Shazam ve dijital sinyal işleme üzerine ilgi çekici yazı

    Bu, Shazam'ın nasıl çalıştığına ve dijital sinyal işlemeye dair mükemmel bir başlangıç yazısı; ses parmak izi tanımanın nasıl çalıştığını anlamak isteyenler için mutlaka okunmalı.

  • Diğer medya türlerine de uygulanabilecek benzer algoritmalar

    Yalnızca ses parmak izi tanımada değil, başka medya türlerinde de uygulanabilecek benzer yaklaşık algoritmalar var; gerçek dünyadaki hashing'i anlamak isteyenler bu yazıyı yavaş yavaş çalışmalı.

  • Every Noise At Once web sitesinin önemi

    Every Noise At Once, müzik türü sınıflandırmasına ve yeni şarkı imzalarının ortaya çıkardığı dallanan alt türlere algoritmik eşleme uygulayan olağanüstü bir site; barındırma sorunları nedeniyle kapanma riskiyle karşı karşıya ve bu, World Wide Web için büyük bir kayıp olur.

  • Müzik tanıma sürecinin sezgiselliği

    Bu sistem, melodi parçalarını tanımlayıp bunları sırayla eşleştirerek bizim algılama sürecimize çok benzer biçimde çalışıyor; birkaç notayı duyup şarkıyı tanımamızla örtüşüyor.

  • Müzik tanımada kullanılan Fourier dönüşümü

    Müzik tanımada sıkça kullanılan Fourier dönüşümünden de söz ediliyor; bu, Echoprint adlı açık kaynak sürümde de kullanılmıştı ancak Spotify tarafından satın alındıktan sonra hizmet durduruldu.