Ana içeriğe geç
Ana SayfaHakkımdaProjeler
BlogTeklif AlİletişimÖzgeçmiş
Ana Sayfa
Hakkımda
Projeler
Blog
Teklif Al
İletişim
Özgeçmiş

İçerik

KarşılaştırmalarKaynaklarOkuma Listesi

Araçlar

Kod SnippetsAraç KutusuDashboard

Etkileşim

Bilgi YarışmasıPlaygroundDuvar Kağıtları

Ben

/uses/nowGitHubBaşarımlar

Site

ChangelogStatusColophonCredits
  1. Ana Sayfa
  2. /
  3. Projeler
  4. /
  5. Müzik Kutusu
Müzik & Ses

Müzik Kutusu

Müzik Keşif & Akıllı Playlist Platformu

9:41
M

Kullanıcı

İndirme

4.6(200+ değerlendirme)

App Store Puanı

7 ay

Geliştirme Süresi

Proje Hakkında

Müzik Kutusu, müzik keşfini yeniden tanımlayan, yapay zeka destekli bir müzik platformudur. Çevredeki müziği tanıma, ruh haline göre playlist oluşturma, arkadaşlarla birlikte dinleme ve kişiselleştirilmiş müzik tavsiyeleri ile müzik deneyimini zenginleştirir. Müzik tanıma modülü, ShazamKit framework'ünü kullanarak çevredeki müziği saniyeler içinde tanımlar. Şarkı bilgisinin ötesinde albüm, sanatçı biyografisi, şarkı sözleri ve Apple Music entegrasyonu ile zengin bilgi kartları sunar. Tanıma geçmişi otomatik olarak kaydedilir ve kişisel müzik haritası oluşturulur. AI Playlist Engine, kullanıcının dinleme geçmişini, beğenilerini ve ruh halini analiz ederek kişiselleştirilmiş playlistler oluşturur. Sabah enerjik, öğleden sonra odaklanma, akşam rahatlama gibi zaman bazlı öneriler sunar. Spotify ve Apple Music kütüphaneleriyle entegre çalışır. Mood Map özelliği, 2D bir düzlemde enerji (düşük-yüksek) ve duygu (negatif-pozitif) eksenleri üzerinde müzik keşfi sunar. Kullanıcı haritada parmağını gezdirerek anında o mood'a uygun şarkılar keşfeder. Audio feature analysis ile her şarkı otomatik olarak haritaya yerleştirilir. Sosyal dinleme odaları, kullanıcıların gerçek zamanlı olarak birlikte müzik dinlemesini sağlar. Host şarkı seçer, katılımcılar senkronize dinler. Emoji reaksiyonları, mesajlaşma ve DJ sırası özelliği ile interaktif bir müzik deneyimi sunar. Konsol ve etkinlik keşfi modülü, kullanıcının müzik zevkine göre yakındaki canlı müzik etkinliklerini önerir. Bilet satın alma entegrasyonu, etkinlik hatırlatıcısı ve arkadaş davet özelliği ile müzik yaşantısını dijitalden fiziksel dünyaya taşır.

Özellikler

✦ ShazamKit ile anlık müzik tanıma
✦ AI destekli kişiselleştirilmiş playlist oluşturma
✦ Mood Map ile 2D müzik keşif haritası
✦ Sosyal dinleme odaları (gerçek zamanlı senkron)
✦ Spotify ve Apple Music kütüphane entegrasyonu
✦ Şarkı sözleri ve sanatçı biyografi kartları
✦ Zaman bazlı otomatik müzik önerileri
✦ Konser ve etkinlik keşfi + bilet entegrasyonu
✦ Live Activity ile Dynamic Island şarkı kontrolü
✦ Müzik istatistikleri ve yıllık dinleme raporu

Süreç

  1. Keşif
  2. Tasarım
  3. Geliştirme
  4. Test
  5. Yayın

Zorluklar & Çözümler

Zorluk

Müzik tanıma doğruluğunun farklı ortamlarda tutarlı kalması önemli bir zorluğu temsil ediyordu. Gürültülü kafeler, açık hava etkinlikleri ve araç içi gibi farklı akustik ortamlarda ShazamKit'in performansı değişkenlik gösterebiliyordu. Ayrıca Türkçe müzik kataloğunun uluslararası veritabanlarında eksik olması tanıma oranını düşürüyordu. Gerçek zamanlı sosyal dinleme senkronizasyonu teknik olarak karmaşık bir problemdi. Farklı ağ koşullarında (WiFi, 4G, 5G) tüm katılımcıların milisaniye hassasiyetinde senkronize dinleme yapması gerekiyordu. Audio buffering, latency compensation ve jitter management algoritmaları geliştirilmeliydi. Mood bazlı müzik sınıflandırma subjektif bir görevdir — aynı şarkı farklı kişilere farklı hissettirebilir. Audio feature extraction (tempo, key, energy, danceability) ile duygu analizi arasındaki korelasyon her zaman güçlü değildir. Kullanıcı geri bildirimleriyle kalibre edilen hibrit bir model gerekiyordu. Spotify ve Apple Music API'lerinin farklı kısıtlamaları ve rate limitleri koordinasyon gerektiriyordu. Her platformun kendi authentication akışı, veri formatı ve kullanım koşulları vardı. Cross-platform playlist senkronizasyonu — bir platformda oluşturulan playlistin diğerinde de çalması — özellikle lisans kısıtlamaları nedeniyle karmaşıktı. Pil tüketimi optimizasyonu kritikti. Arka planda müzik tanıma, sürekli audio analysis ve gerçek zamanlı senkronizasyon ciddi pil tüketimi yaratabilirdi. Audio session yönetimi ve intelligent duty cycling ile denge sağlanmalıydı.

Çözüm

ShazamKit entegrasyonu özel audio preprocessing pipeline ile güçlendirildi. AVAudioEngine ile yakalanan ses, noise gate ve band-pass filter ile temizlendikten sonra SHSession'a gönderilir. Tanıma güven skoru eşiği ortam gürültüsüne göre dinamik ayarlanır. Türkçe müzik kataloğu için custom SHCustomCatalog ile 5.000 yerel şarkı eklendi. Sosyal dinleme senkronizasyonu için üç katmanlı yaklaşım benimsendi. Yakın mesafede MultipeerConnectivity ile P2P bağlantı (minimum latency), orta mesafede CloudKit real-time subscription, uzak mesafede WebSocket üzerinden custom sync protocol. Adaptive buffer sizing ile network jitter'ı kompanze edilir. Audio timestamp synchronization NTP-benzeri clock sync algoritması ile sağlanır. Mood sınıflandırma için hibrit model geliştirildi. Birincil sinyal: Spotify/Apple Music audio features API (tempo, energy, valence, danceability). İkincil sinyal: şarkı sözü sentiment analizi (NaturalLanguage framework, Türkçe desteği). Üçüncül sinyal: kullanıcı crowd-sourced etiketleme. Üç sinyalin ağırlıklı ortalaması ile her şarkı 2D mood haritasına yerleştirilir. Kullanıcı düzeltmeleri ile model sürekli iyileşir. Platform entegrasyonu için adapter pattern kullanıldı. MusicServiceProtocol soyutlaması ile Spotify Web API ve MusicKit birleşik interface üzerinden erişilir. OAuth 2.0 token refresh otomatik yönetilir, rate limiting için exponential backoff implementasyonu yapıldı. Playlist çeviri katmanı ISRC (International Standard Recording Code) ile şarkıları platformlar arası eşleştirir. Pil optimizasyonu için audio session kategorileri akıllıca yönetilir. Tanıma modu sadece kullanıcı tetiklediğinde aktif olur, arka plan tanıma opsiyonel ve configurable. Low-power mode'da audio analysis frekansı azaltılır, sosyal dinleme server-side timestamp'e düşer.

Teknik Detaylar

Uygulama mimarisi MVVM + Coordinator pattern ile navigasyon yönetimi, Clean Architecture katmanlaması ile iş kuralları izolasyonu sağlar. iOS tarafı Swift/SwiftUI, Android tarafı Kotlin/Jetpack Compose ile native olarak geliştirilmiştir. Shared business logic Kotlin Multiplatform (KMP) ile paylaşılır. Audio pipeline AVAudioEngine tabanlıdır. Input node'dan gelen audio, mixer node'da format dönüşümü yapılır, tap ile buffer yakalanır. ShazamKit recognition için SHSession ayarlanır, match callback'leri Combine publisher olarak expose edilir. Eşzamanlı olarak audio analysis için Accelerate framework ile FFT hesaplanır. Mood Map rendering Core Animation + Metal hibrit yaklaşım kullanır. 2D scatter plot üzerinde binlerce şarkı noktası GPU-accelerated render edilir. Pinch-to-zoom ile detay seviyesi değişir (LOD — Level of Detail). Parmak konumuna yakın şarkıların audio preview'ı AVQueuePlayer ile crossfade geçiş ile oynatılır. Sosyal dinleme protokolü 3 mod destekler: (1) Local — MultipeerConnectivity ile BLE/WiFi Direct, latency 20-50ms, (2) Cloud — CloudKit CKSubscription ile push-based sync, latency 200-500ms, (3) WebSocket — custom server üzerinden full-duplex, latency 50-150ms. Mod otomatik seçilir, fallback chain ile reliability sağlanır. MusicKit entegrasyonu Apple Music API v2 ile çalışır. MusicCatalogSearchRequest, MusicLibraryRequest ve MusicSubscription.current ile kullanıcı kütüphanesine erişilir. ApplicationMusicPlayer ile in-app playback sağlanır. Spotify Web API REST client Combine ile async pipeline oluşturur. ActivityKit ile Dynamic Island entegrasyonu: şarkı adı (marquee scroll), sanatçı, album art (küçük) ve play/pause/next kontrolleri. Live Activity progress bar ile şarkı ilerlemesi gösterilir. Lock Screen expanded view'da şarkı sözleri live sync edilir.

Araştırma Notları

Global müzik streaming pazarı 2024'te $41B büyüklüğüne ulaştı. Türkiye'de Spotify 18 milyon, Apple Music 4 milyon, YouTube Music 22 milyon kullanıcıya sahip. Müzik keşif segmentinde bağımsız uygulama sayısı sınırlı — çoğu streaming platform'un dahili özelliği. Rakip analizi: Shazam (Apple) 2B+ indirme ile tanıma lideri ancak keşif özellikleri sınırlı. SoundHound hem tanıma hem sesle arama yapıyor ancak sosyal özelliği yok. Musixmatch şarkı sözü odaklı. Müzik Kutusu, tanıma + keşif + sosyal üçlüsünü tek platformda birleştirerek farklılaştı. Kullanıcı araştırmasında 250 kişilik anket ve 12 focus group yapıldı. Bulgular: %76'sı yeni müzik keşfetmekte zorlanıyor, %64'ü arkadaşlarıyla müzik paylaşmak istiyor ama platform farklılıkları engelliyor, %58'i ruh haline göre müzik bulmak istiyor. Bu üç insight uygulamanın temel pilleri oldu. ShazamKit teknik araştırması: iOS 15+ gereksinim, SHSession ile hem Shazam kataloğu hem custom katalog tanıma desteği, SHMediaItem ile zengin metadata. Audio fingerprinting Shazam'ın patentli algoritması (spectral analysis + hash matching). Custom katalog ile yerel içerik ekleme mümkün ancak referans audio kalitesi kritik. Sosyal müzik trendleri: Discord'un Watch Together, Spotify'ın Group Session ve Apple'ın SharePlay özellikleri sosyal dinlemenin artan talebini gösteriyor. Gen Z kullanıcıların %72'si müziği sosyal bir aktivite olarak görüyor. Müzik Kutusu bu trende özel olarak tasarlandı.

Tasarım Süreci

Tasarım sürecinde müziğin duygusal doğası ön planda tutuldu. "Müzik hissettirir, UI engellemez" prensibi benimsendi. Minimalist arayüz, canlı gradientler ve fluid animasyonlar ile müziğin enerjisini yansıtan bir deneyim hedeflendi. Ana navigasyon 5 tab bar ile organize edildi: Keşfet (ana sayfa + öneriler), Tanı (ShazamKit kamera benzeri UI), Mood Map (2D keşif haritası), Sosyal (dinleme odaları + arkadaşlar) ve Kütüphane (kaydedilenler + istatistikler). Her tab'ın kendine özgü accent rengi var. Tanıma ekranı Shazam'ın ikonik animasyonundan ilham alır ancak farklılaşır. Ortada büyük bir pulse animasyonu (concentric circles, breathing effect), dinleme sırasında ses dalgası visualizer (AVAudioPCMBuffer'dan real-time waveform), tanıma anında confetti + haptic feedback. Sonuç kartı bottom sheet olarak yükselir. Mood Map tasarımı Spotify'ın "mood" playlistlerinden ilham alır ancak interaktif bir harita olarak yeniden yorumlanır. Arka plan gradient'i parmak konumuna göre değişir — sol alt (hüzünlü, sakin) mavi tonları, sağ üst (mutlu, enerjik) sarı-turuncu tonları. Şarkı noktaları album art thumbnail olarak gösterilir. Sosyal dinleme odası tasarımında Discord ve Clubhouse referans alındı. Üstte şarkı bilgisi ve progress bar, ortada katılımcı avatarları (circular, pulse animasyonlu aktif konuşma), altta emoji reaction bar ve mesaj input. Host kontrolü floating overlay olarak gösterilir. Renk paleti müziğin sıcaklığını ve enerjisini yansıtır. Amber-yellow-lime gradient güneşli, pozitif bir his verir. Koyu arka plan albüm artwork'lerinin renklerini öne çıkarır. Now Playing ekranında dominant color extraction ile arka plan albüm rengine adapte olur. Erişilebilirlik: VoiceOver ile şarkı bilgisi okuma, tanıma durumu bildirimi ve mood map navigasyonu. Haptic feedback müzik ritmiyle senkronize (beat detection). Dynamic Type tüm metin elementlerinde. Reduce motion modunda pulse animasyonları statik halka olur. Kullanılabilirlik testleri 20 müziksever ile yapıldı, SUS skoru 79/100.

Sonuçlar & Etki

Müzik Kutusu, App Store Müzik kategorisinde Türkiye'de 6. sıraya yükseldi. 7 ayda iOS ve Android toplamda 110.000 indirme ve 30.000 aktif kullanıcıya ulaşıldı. Ortalama kullanıcı puanı 4.6 olarak gerçekleşti. Müzik tanıma özelliği günde ortalama 22.000 kez kullanılıyor. Genel tanıma doğruluğu %96, Türkçe müzik tanıma doğruluğu custom katalog eklemesinden sonra %89'dan %94'e yükseldi. Kullanıcıların %71'i tanıdıkları şarkıyı Apple Music veya Spotify kütüphanelerine ekledi. Sosyal dinleme odaları viral büyüme sağladı. Aylık ortalama 4.500 dinleme odası oluşturuluyor, ortalama oda süresi 45 dakika, ortalama katılımcı sayısı 4.2 kişi. Sosyal özellikler kullanıcı tutundurma oranını %32 artırdı. Mood Map en çok etkileşim alan özellik oldu — kullanıcılar ortalama 6 dakika haritada keşif yapıyor. Audio preview'dan tam dinleme geçiş oranı %38. Yeni müzik keşfi başına ortalama 3.2 şarkı beğenildi. Cross-platform stratejisi başarılı oldu: Android kullanıcıları toplam kullanıcı tabanının %42'sini oluşturuyor. KMP ile shared business logic iOS/Android arasında %35 kod paylaşımı sağladı. Premium dönüşüm oranı %5.9, yıllık dinleme raporu özelliği sosyal medyada 8.000+ paylaşım aldı.

Öğrenilen Dersler

ShazamKit'in en büyük kısıtlaması, Apple'ın müzik kataloğunun kapsamıdır. Bağımsız ve niş sanatçılar tanınamayabiliyor. SHCustomCatalog ile yerel müzik ekleme bu boşluğu kısmen kapattı ancak katalog bakımı sürekli çaba gerektiriyor. Community contribution modeli ile kullanıcılardan şarkı önerileri alınarak katalog genişletildi. Cross-platform geliştirmede Kotlin Multiplatform seçimi doğru ancak öğrenme eğrisi dikti. Swift geliştiricilerin Kotlin öğrenmesi 3 hafta aldı. Shared layer'ın kapsamı dikkatli belirlenmeli — UI ve platform-specific API'ler native kalmalı, iş kuralları ve veri modelleri paylaşılabilir. Abstraction seviyesini doğru tutmak kritik. Sosyal özellikler moderasyon zorunluluğu getiriyor. İlk versiyonda moderasyon yoktu, spam ve uygunsuz içerik sorunları çıktı. Otomatik content filter + community reporting + admin dashboard ile moderasyon sistemi kuruldu. KVKK ve 18 yaş altı kullanıcılar için ek koruma katmanları eklendi. Audio session yönetimi iOS'ta beklenenden karmaşık. Farklı audio kategori ve mode kombinasyonları, interruption handling (telefon çağrısı, alarm, Siri), route change (bluetooth, headphone, speaker) senaryoları kapsamlı test gerektiriyor. AVAudioSession category changes runtime'da dikkatli yönetilmeli. Müzik streaming lisans hukuku karmaşıktır. Sosyal dinleme odasında aynı anda birden fazla kişinin bir şarkıyı dinlemesi, teknik olarak ayrı stream'ler üzerinden olmalı (her kullanıcının kendi lisansı). Bu yasal kısıtlama mimariyi doğrudan etkiledi — P2P audio streaming yerine her kullanıcı kendi Spotify/Apple Music hesabından stream yapar, sadece playback senkronize edilir.

Proje Bilgileri

RolLead Mobile Developer
Takım6 kişi
Yıl2023
Süre7 ay
MimariMVVM + Coordinator + Clean Architecture
Platformlar
iOSAndroid

Teknolojiler

SwiftSwiftUIShazamKitAVFoundationMusicKitCore MLAccelerateMultipeerConnectivityMediaPlayerActivityKit

Paylaş

İlgili Yazılar

Swift

Swift 6.0 Tam Rehber: Concurrency, Typed Throws ve Daha Fazlası

Swift 6.0 ile gelen complete concurrency checking, typed throws, Synchronization framework ve ownership model. Production projelerinizi nasıl migrate edeceğinizi adım adım öğrenin.

22 dk
SwiftUI

SwiftUI'da Performance Optimizasyonu

SwiftUI uygulamalarınızı hızlandırmanın 15 etkili yolu. View lifecycle, state management ve lazy loading teknikleri.

15 dk
SwiftUI

SwiftUI Navigation Sistemi: Deep Linking ve Coordinator Pattern

NavigationStack'in ötesine geçin! Coordinator pattern, deep linking ve custom transition'lar ile profesyonel navigation sistemi oluşturun.

22 dk
Bir Sonraki Adım

Benzer Bir Proje mi Düşünüyorsunuz?

12+ yıllık mobil geliştirme deneyimimle hayalinizdeki uygulamayı birlikte hayata geçirelim.

Ücretsiz Teklif AlınProjelerimi İnceleyin

İlk görüşme tamamen ücretsizdir

Önceki Proje

Photo Lab Pro

Fotoğraf & Video
Sonraki Proje

Astro Takip

Yaşam Tarzı & Astroloji

İlgili Blog Yazıları

Tüm Yazıları Gör
Machine Learning

Core ML ile On-Device Machine Learning: Kapsamlı Entegrasyon Rehberi

iOS uygulamalarınıza on-device ML ekleyin. Model entegrasyonu, Vision framework, NLP, Create ML ile custom model, performans optimizasyonu ve production best practices.

25 dk
AI & ML

iOS On-Device Machine Learning Rehberi

On-device ML ile gizlilik odaklı, hızlı ve offline çalışan iOS uygulamaları geliştirme. Core ML, Neural Engine ve model optimizasyonu.

24 dk okuma
Swift

Async/Await Best Practices: Swift Concurrency Mastery

Swift concurrency'nin doğru kullanımı. Task, TaskGroup, actor, MainActor ve structured concurrency patterns.

19 dk

İlgili Karşılaştırmalar

Tüm Karşılaştırmaları Gör
iOS

Swift vs Kotlin

Apple platformları için Swift ile Android için Kotlin karşı karşıya. Modern dil özellikleri, sözdizimi ve ekosistem açısından detaylı analiz.

9 dk okuma
AI

Claude vs ChatGPT — Yazılım Geliştirme İçin

Anthropic'in Claude'u ile OpenAI'ın ChatGPT'sini yazılım geliştirme perspektifinden karşılaştırıyoruz: kod kalitesi, bağlam penceresi, araç entegrasyonu ve pratik kullanım senaryoları.

9 dk okuma
Tüm Projeleri Gör

Muhittin Çamdalı

iOS, Flutter ve modern mobil teknolojilerle dünya standartında uygulamalar geliştiriyorum

İstanbul
Yeni projeler için müsaitim

Hızlı Bağlantılar

  • Ana Sayfa
  • Hakkımda
  • Projeler
  • Blog
  • Teklif Al
  • İletişim
  • Özgeçmiş
  • GitHub
  • Karşılaştırmalar
  • Kaynaklar
  • Okuma Listesi
  • Duvar Kağıtları
  • Kod Snippets
  • Araç Kutusu
  • Playground
  • Dashboard

Sosyal Medya

RSS Beslemesi
Changelog•Colophon•Credits•Status•RSS•Gizlilik•Çerez Politikası•Koşullar•KVKK Aydınlatma•Telif Hakkı•

Bülten

Yeni yazılar ve projeler için haftalık bültene abone olun.

© 2026 Muhittin Çamdalı. Tüm hakları saklıdır.•Blog: CC BY-NC-SA 4.0 | Code: MIT•

•

İstanbul, Türkiye 🇹🇷