🎵 Muzibu B2B Premium System

Kurumsal Müzik Streaming Platformu - Master Plan

v6 Final - Tüm Özellikler Birleştirildi
📅 26 Kasım 2025 | 🎯 muzibu.com | 🏢 B2B Platform

📑 İçindekiler

🔐

Güvenlik Sistemi

KRİTİK
⚠️ Mevcut Sorun: /api/muzibu/songs/2/serve endpoint'i konsoldan erişilebilir durumda. Bu ciddi bir güvenlik açığı!

🛡️ 6 Katmanlı Güvenlik Mimarisi

1️⃣ Rate Limiting
2️⃣ Auth Token
3️⃣ Subscription
4️⃣ Signed URL
5️⃣ HLS+AES-128
6️⃣ Device Fingerprint

1️⃣ Rate Limiting

  • IP başına: 60 istek/dakika
  • Token başına: 100 istek/dakika
  • Şüpheli davranış tespiti
  • Redis tabanlı sayaç

2️⃣ Bearer Token Authentication

  • Laravel Sanctum entegrasyonu
  • Token süre limiti: 24 saat
  • Her oturumda yeni token
  • Çoklu cihaz desteği

3️⃣ Subscription Kontrolü

  • Aktif abonelik zorunluluğu
  • Paket özellik kontrolü
  • Kullanım limiti takibi
  • Deneme süresi yönetimi

4️⃣ Signed URL Sistemi

  • Tek kullanımlık URL'ler
  • 5 dakika geçerlilik süresi
  • IP + UserAgent bağlama
  • HMAC-SHA256 imzalama

5️⃣ HLS + AES-128 Şifreleme

  • Segmentli streaming (.ts dosyaları)
  • Her segment AES-128 şifreli
  • Dinamik key rotasyonu
  • İndirilen dosyalar çalışmaz!

6️⃣ Device Fingerprinting

  • FingerprintJS Pro entegrasyonu
  • Maksimum 3 cihaz limiti
  • Cihaz yönetim paneli
  • Şüpheli cihaz uyarısı
💡 Apple Music Sorunu Çözümü: Apple Music'ten indirilen içerik oynatılabiliyor çünkü HLS şifresiz. AES-128 şifreleme ile indirilen .ts segmentleri şifreli kalacak ve oynatılamayacak.
🎧

Ses Kütüphanesi Seçimi

⚖️ Howler.js vs AmplitudeJS Karşılaştırması

✅ Howler.js (Kazanan)

  • Web Audio API desteği
  • Daha büyük topluluk (GitHub: 22k+ ⭐)
  • Sprite desteği (ses efektleri)
  • 3D audio / spatial sound
  • Daha iyi belgeleme
  • Profesyonel projeler için ideal
  • HLS.js ile mükemmel entegrasyon

❌ AmplitudeJS

  • Görsel odaklı (UI ağırlıklı)
  • Daha küçük topluluk
  • Sınırlı API kontrolü
  • HTML5 Audio bağımlılığı
  • Streaming için zayıf
🎯 Karar: Howler.js v2.2.4 zaten sistemde mevcut ve doğru seçim. Değişiklik yapılmasına gerek yok.

🔧 Mevcut Howler.js Yapılandırması

Özellik Durum Açıklama
Web Audio API ✅ Aktif Yüksek kalite ses işleme
HTML5 Fallback ✅ Aktif Eski tarayıcı desteği
Preload ✅ Metadata Hızlı başlatma
Pool Size 5 Crossfade için yeterli
🔀

Crossfade & Geçişler

✅ Mevcut Durum: Crossfade fonksiyonları zaten sistemde mevcut! createNextHowlerPlayer(), createNextHlsPlayer(), completeCrossfade(), fadeAudioElement() fonksiyonları aktif.

⏱️ Türe Göre Crossfade Süreleri

Tür Süre Neden?
🎸 Rock / Metal 2-3 saniye Keskin geçişler, enerji kaybı olmasın
🎹 Caz / Blues 4-6 saniye Yumuşak, doğal geçiş
🎧 Elektronik 6-10 saniye Beat matching, DJ tarzı mix
🎻 Klasik 5-8 saniye Sessiz finaller, zarif geçiş
🎤 Pop 3-4 saniye Dengeli, standart geçiş
☕ Ambient / Chill 8-12 saniye Atmosfer koruma, fark edilmeyen geçiş

🔊 Volume Normalization (Ses Dengeleme)

Şarkılar arası ses farkını ortadan kaldırmak için kritik özellik!

📊

ReplayGain Standardı

Her şarkının loudness değerini analiz edip normalize eden endüstri standardı. Spotify -14 LUFS kullanıyor.

Uygulama Adımları:

  • Şarkı yüklenirken loudness_db değerini oku
  • Target: -14 LUFS (Spotify standardı)
  • Gain hesapla: target - actual_loudness
  • Howler.js volume() ile uygula
  • Maksimum gain: +6dB (clipping önleme)
📊

WaveSurfer.js Dalga Formu

ÖNERİLEN

🌊 Neden WaveSurfer.js?

8K+
GitHub Stars
9+
Yıllık Geçmiş
40+
Plugin
MIT
Lisans

✅ Avantajları

  • Gerçek zamanlı dalga formu görselleştirme
  • Seek için görsel tıklama desteği
  • Zoom in/out özelliği
  • Regions plugin (bölüm işaretleme)
  • Spectogram plugin (frekans analizi)
  • Canvas tabanlı, performanslı
  • Responsive tasarım
  • Howler.js ile entegre edilebilir

🎯 B2B Kullanım Senaryoları

  • Görsel çekicilik: Premium hissi artırır
  • Kolay navigasyon: Şarkı içinde hızlı gezinme
  • Drop noktaları: Hype anlarını görsel gösterme
  • Intro/Outro: Sessiz kısımları gösterme
  • Anons entegrasyonu: Anons bölümlerini işaretleme

⚙️ Entegrasyon Yaklaşımı

WaveSurfer.js görselleştirme için, Howler.js ses kontrolü için kullanılacak:

  • WaveSurfer sadece dalga çizimi yapar (ses çalmaz)
  • Howler.js ana ses kaynağı olarak kalır
  • İki kütüphane senkronize çalışır
  • Time update event'leri ile pozisyon eşleştirilir
🎨

Dinamik Player Teması

ÇOK ÖNERİLEN

🌈 Albüm Kapağından Renk Çıkarma

Spotify, Apple Music, YouTube Music gibi büyük platformların kullandığı etkileyici özellik!

🎨

Color Thief

Basit ve hızlı. Dominant rengi ve paletini çıkarır. ~8KB boyut.

Vibrant.js

Daha gelişmiş. Vibrant, Muted, Dark, Light varyantları üretir.

🎯 Uygulama Alanları

  • Player arka planı: Gradient efekt
  • Progress bar rengi: Dominant renkle eşleşme
  • Dalga formu rengi: WaveSurfer ile senkron
  • Now Playing ekranı: Full-screen deneyim
  • Playlist vurgulama: Aktif şarkı renklendirme
💡 Performans İpucu: Renk çıkarma işlemi ağır olabilir. Backend'de önceden hesaplayıp veritabanına kaydet (dominant_color, secondary_color alanları).
🎬

Plyr Analizi

❓ Plyr Nedir?

Modern, erişilebilir HTML5 media player. Video ve audio için hazır UI bileşenleri sunar.

🎬 Plyr

  • Hazır UI bileşenleri
  • Video odaklı tasarım
  • YouTube/Vimeo embed
  • Sınırlı ses kontrolü
  • Kendi event sistemi

🎧 Howler.js (Mevcut)

  • Ses odaklı, derin kontrol
  • Web Audio API tam destek
  • Crossfade, spatial audio
  • HLS streaming entegrasyonu
  • Özelleştirilebilir UI
🎯 Sonuç: Plyr eklemek gereksiz karmaşıklık yaratır. Howler.js + custom UI ile devam edilmeli. Plyr daha çok video oynatıcı ihtiyaçları için uygundur.
🎚️

Equalizer Sistemi

PREMIUM ÖZELLİK

🔊 Web Audio API ile Equalizer

Howler.js zaten Web Audio API kullandığı için EQ eklemek mümkün!

Frekans Bandı Değer Etki
32 Hz Sub Bass Derin bas, hissedilen titreşim
64 Hz Bass Davul kick, bas gitar temeli
125 Hz Low Mid Vokal sıcaklığı, dolgunluk
250 Hz Mid Enstrüman gövdesi
500 Hz Mid Vokal netliği
1 kHz Upper Mid Ses presence
2 kHz Upper Mid Vokal artikülasyonu
4 kHz Presence Clarity, detay
8 kHz Brilliance Parlaklık, hava
16 kHz Air Ultra high, sparkle

🎛️ Hazır Preset'ler

🎸

Rock

Bass +3, Mid +1, Treble +2

🎹

Jazz

Bass +2, Mid +3, Treble +1

🎤

Vocal

Mid +4, Presence +2

🔊

Bass Boost

Sub +5, Bass +4

📻

Podcast

Bass -2, Voice +3

🎧

Flat

Tüm bantlar 0

💎 Premium Özellik: EQ sadece Premium ve üzeri paketlerde aktif olabilir. Temel paketler flat (düz) ses alır.
💎

Ses Kalitesi Seviyeleri

🎵 Bitrate Katmanları

Kalite Bitrate Paket Kullanım
📱 Normal 96 kbps AAC Ücretsiz / Önizleme Mobil veri tasarrufu
🎧 Yüksek 192 kbps AAC Starter Günlük dinleme
🔊 Çok Yüksek 320 kbps AAC Professional Kaliteli hoparlör/kulaklık
💎 Lossless FLAC 16-bit/44.1kHz Premium Audiophile, Hi-Fi sistem
👑 Hi-Res FLAC 24-bit/96kHz Enterprise Stüdyo kalitesi

📦 HLS Adaptive Streaming

Bant genişliğine göre otomatik kalite ayarlama:

  • Hızlı internet → 320 kbps otomatik seçilir
  • Yavaş internet → 96 kbps'e düşer
  • WiFi → En yüksek izin verilen kalite
  • 4G → Orta kalite tercih edilir
  • Kullanıcı manuel override yapabilir

SPA Mimarisi

KRİTİK
🎯 Ana Gereksinim: Müzik SAYFA DEĞİŞİMİNDE KESİLMEMELİ! Bu B2B müzik platformunun en kritik özelliği.

🔧 Livewire 3 + @persist Yaklaşımı

Laravel Livewire 3'ün @persist direktifi ile sayfa geçişlerinde state korunur:

wire:navigate

SPA benzeri navigasyon. Tam sayfa yenilemesi yerine sadece içerik değişir.

💾

@persist('player')

Player component'i sayfa geçişlerinde korunur. Audio elementi ve state kaybolmaz.

  • Player component sayfanın dışında, layout seviyesinde
  • Alpine.js ile state yönetimi
  • Howler instance global scope'ta
  • URL değişse bile audio context korunur

🏗️ Mimari Yapı

Layout (app.blade.php)
@persist('player')
Player Component

wire:navigate
İçerik Değişir
Player Kalır
🤖

AI Metadata Sistemi

26K+
Eski Şarkı
~8
Metadata/Şarkı
%95+
Doğruluk Hedefi

🎯 Otomatik Tespit Edilecek Metadata

  • Mood: Mutlu, Hüzünlü, Enerjik, Sakin...
  • Genre: Rock, Pop, Caz, Elektronik...
  • Sub-genre: Anadolu Rock, Hard Rock...
  • Tempo (BPM): 60-200 arası değer
  • Energy Level: 1-10 skala
  • Danceability: Dans edilebilirlik
  • Acousticness: Akustik oranı
  • Instrumentalness: Vokal/enstrüman

🛠️ AI Servis Seçenekleri

🔍

AcoustID + MusicBrainz

Ses parmak izi ile şarkı tanıma. Ücretsiz, açık kaynak. Var olan şarkılar için mükemmel.

🎵

Essentia (MTG)

Açık kaynak ses analizi. BPM, key, mood, genre tespiti. Self-hosted çalışabilir.

🌊

Cyanite.ai

Ticari API. Çok detaylı analiz, yüksek doğruluk. Per-track ücretlendirme.

🎼

Spotify Audio Features

Eğer şarkılar Spotify'da varsa, API ile metadata çekilebilir.

💡 Önerilen Yaklaşım: Essentia (ücretsiz) + AcoustID (tanıma) kombinasyonu. 26K şarkı için Cyanite.ai maliyetli olabilir.
🖼️

AI Görsel Üretimi

🎨 Her Şarkıya Özgün Kapak

26.000 şarkı için otomatik, mood'a uygun kapak görseli üretimi

🎨

DALL-E 3 (OpenAI)

En yüksek kalite, yaratıcı çıktılar. $0.04/görsel (1024x1024).

🌟

Midjourney

Sanatsal, estetik görseller. API yok, Discord üzerinden. Aylık $30.

🖌️

Stable Diffusion

Self-hosted, sınırsız üretim. GPU gerekli. Ücretsiz model.

🎭

Leonardo.ai

API mevcut, düşük maliyet. $0.01/görsel. Sistem zaten entegre!

📝 Prompt Stratejisi

AI metadata'dan prompt oluşturma:

  • Mood → Renk paleti: "Mutlu" → Canlı, sıcak renkler
  • Genre → Stil: "Rock" → Grunge, karanlık tonlar
  • Tempo → Hareket: "Hızlı" → Dinamik, akışkan şekiller
  • Era → Estetik: "80s" → Neon, retro-futuristik
💰 Maliyet Hesabı: 26K şarkı × $0.01 = $260 (Leonardo.ai ile). DALL-E 3 ile $1,040. Stable Diffusion ile ~$0 (GPU elektrik hariç).
🏢

Kurumsal Çoklu Şube Sistemi

200+
Şube Desteği
4
Yetki Seviyesi
3
Ödeme Modeli

👥 Kurumsal Hiyerarşi

👑 Super Admin (Muzibu)
🏢 Firma Admin
🏪 Şube Yöneticisi
👤 Şube Çalışan

🏢 Firma Admin Yetkileri

  • Tüm şubeleri yönetme
  • Yeni şube ekleme/kaldırma
  • Toplu playlist atama
  • Kullanım raporları görme
  • Fatura ve ödeme yönetimi
  • Şube yöneticisi atama

🏪 Şube Yöneticisi Yetkileri

  • Kendi şubesi için playlist
  • Çalışan ekleme/çıkarma
  • Günlük program ayarlama
  • Anons yönetimi
  • Şube kullanım raporu

💳 Ödeme Modelleri

🏦

Merkezi Ödeme

Ana firma tüm şubelerin ödemesini yapar. Toplu fatura.

🏪

Şube Bazlı

Her şube kendi ödemesini yapar. Bağımsız faturalar.

🔀

Hibrit

Ana firma temel, şubeler ek özellikler için öder.

📢

Anons Sistemi

🎯 Anons Tetikleme Yöntemleri

Yöntem Açıklama Öneri
⏰ Sabit Saat Belirlenen saatlerde (09:00, 12:00, 18:00) Önemli duyurular için
🎵 X Şarkı Sonra Her 5 şarkıda bir anons Reklam için uygun
⏱️ X Dakika Sonra Her 30 dakikada bir Düzenli hatırlatmalar
🎼 Şarkı Bitiminde Şarkı doğal bitişinde anons ✅ EN İYİ UX!

🔊 Anons Özellikleri

  • Ses dosyası yükleme: MP3/WAV format
  • TTS entegrasyonu: Metin → Ses dönüşümü
  • Zamanlama: Başlangıç/bitiş tarihi
  • Şube hedefleme: Belirli şubelere özel
  • Öncelik sırası: Acil duyurular önce
  • Crossfade: Müzikle yumuşak geçiş
💡 UX İpucu: "Şarkı Bitiminde" tetikleme en iyi kullanıcı deneyimini sağlar. Müziği kesmez, doğal geçiş yapar.
💰

Fiyatlandırma Paketleri

🏪 Tekil İşletmeler İçin

Starter
₺149/ay
  • 192 kbps ses kalitesi
  • Temel playlistler
  • 1 lokasyon
  • Email destek
  • Temel raporlama
Premium
₺499/ay
  • Lossless FLAC kalite
  • Equalizer
  • 5 lokasyon
  • 7/24 destek
  • Özel playlist küratörü
  • API erişimi
  • White-label seçeneği

🏢 Kurumsal (Çoklu Şube)

Business
₺79/şube/ay
  • 10-50 şube
  • Merkezi yönetim
  • Toplu playlist dağıtımı
  • Şube bazlı raporlar
  • Dedicated account manager
⏱️

30 Saniyelik Önizleme

🎯 Önizleme Mantığı

  • Varsayılan süre: 30 saniye
  • Başlangıç noktası: Şarkının %20'sinden başla (intro'yu atla)
  • Admin ayarlanabilir: 15-60 saniye arası
  • Fade out: Son 3 saniyede ses azalır
  • Premium teşvik: "Devamını dinlemek için Premium'a geç"

🔒 Önizleme Güvenliği

  • Önizleme dosyası ayrı (preview_url)
  • Full şarkıya erişim premium zorunlu
  • Önizleme bile signed URL ile
  • Günlük önizleme limiti (ücretsiz kullanıcı)
📈

Dinlenme Sayacı

🎯 Spotify Kuralı

Bir dinlenme sayılması için:

⏱️

30 Saniye Kuralı

Şarkı en az 30 saniye dinlenmeli. Skip edilirse sayılmaz.

Ek Kurallar:

  • Aynı IP'den 5 dakikada 1 play (spam önleme)
  • Bot detection (şüpheli davranış engelleme)
  • Unique listener tracking
  • Peak time analizi
📋

Loglama Sistemi

📊 Kaydedilecek Veriler

Alan Açıklama Kullanım
user_id Dinleyici kimliği Kişisel öneri
song_id Şarkı kimliği Popülerlik analizi
branch_id Şube kimliği Şube raporları
duration_seconds Dinleme süresi Engagement ölçümü
completed Şarkı bitti mi? Skip analizi
ip_address IP adresi (hashed) Güvenlik
device_type Cihaz türü Platform analizi
quality Ses kalitesi Bandwidth analizi
timestamp Zaman damgası Zaman serisi analizi
🎯

Akıllı Playlistler

🤖 Otomatik Playlist Önerileri

☀️

Zamana Göre

Sabah enerjik, öğlen sakin, akşam romantik

🏪

Mekana Göre

Kafe → Jazz, Gym → Upbeat, Restoran → Ambient

📊

Dinleme Geçmişine Göre

Kullanıcının beğendiği türlerden öneri

🔥

Trend

En çok dinlenenler, yükselen şarkılar

🎛️ Playlist Türleri

  • Editör Seçimi: Muzibu ekibi tarafından küratörlü
  • Algoritmik: AI tarafından oluşturulan
  • Kullanıcı Oluşturmalı: İşletme özel playlistleri
  • Collaborative: Çoklu kullanıcı katkılı
  • Radio Mode: Sonsuz benzer şarkı akışı
💬

Sosyal Özellikler

❤️ Beğeni & Kaydetme

  • Şarkı beğenme (kalp)
  • Playlist kaydetme
  • Albüm takip etme
  • "Beğendiklerim" otomatik playlist

📤 Paylaşım

  • Şarkı linki kopyalama
  • Sosyal medya paylaşımı
  • QR kod ile paylaşım
  • "Şu an dinliyorum" durumu

WOW Faktörleri

Müşteriyi etkileyecek, rakiplerden ayıracak özellikler

🌊
WaveSurfer Dalga

Gerçek zamanlı ses dalgası görselleştirme

🎨
Dinamik Tema

Kapak rengine göre UI değişimi

🎚️
10-Band EQ

Profesyonel ses eşitleme

💎
Hi-Res Audio

24-bit/96kHz Lossless

🤖
AI Metadata

Otomatik mood/genre tespiti

🖼️
AI Kapaklar

Her şarkıya özgün görsel

🔀
Smart Crossfade

Türe göre geçiş süresi

📊
Volume Normalize

Şarkılar arası ses dengesi

🏢
200+ Şube

Kurumsal çoklu lokasyon

📢
Akıllı Anons

Şarkı bitişinde yumuşak geçiş

🗺️

Yol Haritası

Faz 1 - Temel

🛡️ Güvenlik & Altyapı

  • 6 katmanlı güvenlik sistemi
  • HLS + AES-128 şifreleme
  • Signed URL implementasyonu
  • Rate limiting & device fingerprint
  • 30 saniyelik önizleme sistemi
Faz 2 - Player

🎧 Player Geliştirmeleri

  • SPA mimarisi (Livewire @persist)
  • WaveSurfer.js entegrasyonu
  • Dinamik tema (Color Thief)
  • Equalizer sistemi
  • Volume normalization
  • Türe göre crossfade
Faz 3 - AI

🤖 AI Entegrasyonu

  • 26K şarkı metadata analizi
  • Mood/genre/tempo tespiti
  • AI kapak görseli üretimi
  • Akıllı playlist önerileri
Faz 4 - Kurumsal

🏢 B2B Özellikler

  • Çoklu şube yönetimi
  • Kurumsal hiyerarşi
  • Anons sistemi
  • Şube raporları
  • Toplu playlist dağıtımı
Faz 5 - Premium

💎 Premium Özellikler

  • Hi-Res audio (FLAC 24-bit)
  • Adaptive bitrate streaming
  • Offline mode (mobil)
  • API erişimi
  • White-label seçeneği