Mastering genelde bir parçaya yapılan son rötuş olarak anlatılır.
Bu doğru.
Ama böyle söyleyince iş, gerçekte olduğundan çok daha basitmiş gibi görünüyor.
Sesi biraz yükselt. EQ ekle. Biraz compression uygula. En sona limiter koy. Bitti.
Pek değil. 😄
İyi bir mastering zincirinin önce çok daha önemli bir soruya cevap vermesi gerekiyor:
Bu parçanın gerçekten neye ihtiyacı var?
Adaptive Master'ı geliştirmemin sebebi tam olarak bu soru.
Adaptive Master, Python ile yazdığım, tamamen yerel çalışan ve açık kaynaklı bir mastering motoru. Başlangıçta özellikle yapay zekâ ile üretilen müziklerde, daha çok da Suno export'larında sürekli karşıma çıkan problemleri çözmek için geliştirdim. Ama sistem normal stereo mix'lerle de çalışıyor.
Proje GitHub'da MIT lisansı altında açık kaynak olarak yayınlanıyor. Yani kullanabilir, inceleyebilir, değiştirebilir, bozabilir, geliştirebilir veya üzerine tamamen farklı bir şey inşa edebilirsiniz.
GitHub: github.com/alesmcgregor/Mastering
Temel fikir: önce ölç, sonra işlem yap
Her şarkıya körlemesine aynı EQ eğrisini, aynı compressor ayarını ve aynı limiter değerlerini uygulayan bir mastering script'i yapmak istemedim.
Bir piyano baladıyla yoğun bir elektronik parça aynı sinyal değil.
O yüzden Adaptive Master önce analiz yapıyor.
Şunları ölçüyor:
Ölçüm | Neden önemli? |
|---|---|
Integrated LUFS | Parçanın zaman içinde gerçekte ne kadar yüksek algılandığını gösterir |
True Peak | Dijital sample'ların arasında oluşabilecek gerçek tepe noktalarını yakalar |
Crest Factor | Peak seviyeleriyle ortalama enerji arasındaki ilişkiyi gösterir |
Loudness Range | Parça boyunca dinamiklerin ne kadar değiştiğini ölçer |
Stereo Correlation | Stereo genişletmenin faz problemi yaratıp yaratmayacağını anlamaya yardımcı olur |
Side / Mid Energy | Stereo görüntünün zaten ne kadar dar veya geniş olduğunu gösterir |
Spectral Bands | Bass, low-mid, presence ve air bölgelerinde enerjinin nerede yoğunlaştığını gösterir |
Clipped Samples | Kaynak dosyada zaten hard clipping olup olmadığını kontrol eder |
DC Offset | Dalga formunun gereksiz şekilde sıfır ekseninden kayıp kaymadığını gösterir |
Spektral analizde sık yapılan bir stereo analiz hatasından da özellikle kaçındım:
Sol ve sağ kanalı doğrudan birbirine toplamak.
Bunun yerine her kanalın gücü ayrı ayrı ölçülüyor, ardından ortalaması alınıyor.
Böylece faz dışı bir stereo sinyal analiz sırasında sihirli biçimde ortadan kaybolmuyor.
Kulağa ufak bir detay gibi geliyor ama düşündüğünüzden daha önemli.
Mastering akışı
Motor oldukça basit bir felsefeyle çalışıyor:
Orijinal parçayı analiz et.
Ölçümlere göre bir işlem planı oluştur.
Yalnızca gerçekten ihtiyaç duyulan işlemleri uygula.
Final WAV dosyasını tekrar ölç ve teknik sınırların hâlâ korunduğundan emin ol.
Yani mastering zinciri tamamen sabit değil.
Low-mid bölgesi zaten sağlıklıysa neden müdahale edelim?
Stereo görüntü zaten iyiyse neden daha da genişletelim?
Parça zaten yoğun ve sıkışmışsa limiter'a daha sert vurmak onu neden daha iyi hale getirsin?
Bazen en akıllıca DSP kararı:
neredeyse hiçbir şey yapmamaktır.
Suno Adaptive
Yapay zekâ ile üretilmiş parçalar için en sık kullandığım profilin adı Suno Adaptive.
Bu profil sabit bir loudness hedefi kullanmıyor.
Parçanın mevcut dinamik yapısına göre sistem yaklaşık -14 ile -12 LUFS arasında bir hedef seçiyor.
True Peak tavanı ise -1 dBTP.
Limiter baskısı da özellikle sınırlandırılıyor. Yani sistem ne pahasına olursa olsun hedef LUFS değerine ulaşmaya çalışmıyor.
Bu nokta önemli.
Eğer hedef loudness'a ulaşmak parçanın dinamiklerini öldürecekse motorun biraz daha sessiz kalmasına izin veriliyor.
Çünkü LUFS bir ölçüm birimi.
Yüksek skor değil.
Arka planda çalışan birkaç küçük sistem
Mastering zincirinin içinde bazı düzeltici araçlar var. Ama bunlar sadece analiz gerçekten ihtiyaç olduğunu gösterdiğinde devreye giriyor.
Kısa clipping bölgelerini onarma
Motor art arda gelen, full-scale seviyeye çok yakın sample'lar tespit ederse çok kısa clipping bölgelerini onarmaya çalışabiliyor.
Onarım özellikle yaklaşık 3 milisaniye ile sınırlandırılıyor ve eğimi hesaba katan cubic interpolation kullanılıyor.
Bu sihirli bir restorasyon sistemi değil.
Clipping nedeniyle bilgi gerçekten yok olduysa hiçbir algoritma orijinal dalga formunun gerçekte nasıl olduğunu bilemez.
Bu özelliği daha çok büyük bir tabloyu baştan yapmak yerine, hasar görmüş küçük bir köşeyi yumuşatmak gibi düşünün.
Dinamik mud kontrolü
120–400 Hz bölgesi fazla yoğunlaşırsa motor bu alanı kalıcı bir EQ cut ile kesmek yerine dinamik olarak azaltabiliyor.
Kanallar birbirine bağlı çalışıyor. Böylece sol ve sağ kanalın dengesi ayrı ayrı çekiştirilip stereo görüntü bozulmuyor.
Maksimum azaltma özellikle küçük tutuluyor:
yaklaşık 1.2 dB.
Bu projede sürekli tekrar eden bir yaklaşım var:
küçük düzeltmeler > dramatik müdahaleler
Sertlik kontrolü
Suno Adaptive, yaklaşık 2.5–8 kHz bölgesindeki agresif peak'leri de takip edebiliyor.
Bu da sabit bir treble cut değil.
Problem ortaya çıktığında müdahale ediyor.
Problem yoksa işlem de yok.
Düzeltme yaklaşık 1.4 dB ile sınırlandırılmış durumda.
Bir parçanın karakterini dümdüz etmektense biraz kusur bırakmayı tercih ederim.
Stereo şekillendirme
Stereo widening konusunda da özellikle temkinli davranmak istedim.
Motor önce stereo correlation değerine ve Side/Mid enerji oranına bakıyor.
Yalnızca gerçekten dar olan ve aynı zamanda faz açısından güvenli görünen parçalar genişletme için aday oluyor.
O durumda bile değişiklik küçük:
üst frekanslardaki Side bilgisine yaklaşık %5–8 oranında genişletme uygulanıyor.
Yaklaşık 90 Hz altındaki low-end ise merkezde tutuluyor.
Çünkü her şeyi “süper geniş” yapmak bir parçayı on saniye boyunca etkileyici duyurmanın ama sonrasında her yerde garip hissettirmenin en hızlı yollarından biri.
Reference mastering — ama kontrollü
Referans parçalar faydalı.
Songmastr gibi servisler oldukça referans odaklı bir yaklaşım kullanıyor. Songmastr, Matchering altyapısı üzerine kurulu ve verilen referansın frequency response, RMS, peak level ve stereo width gibi özelliklerini hedef parçaya yaklaştırmayı amaçlıyor.
Adaptive Master da referans parça destekliyor.
Ama burada özellikle daha temkinli bir yaklaşım tercih ettim.
Bir referans verdiğinizde motor geniş tonal bölgeleri karşılaştırıyor ve farkın yalnızca yaklaşık %35'ini, sıkı gain sınırları içinde uyguluyor.
Referanstan türetilen loudness hedefi de güvenli bir aralıkla sınırlandırılıyor.
Neden?
Çünkü benim istediğim şu değil:
“Benim parçamı bu parçaya dönüştür.”
Ben daha çok şunu istiyorum:
“Benim parçam bu referanstan nerelerde ciddi şekilde farklı? Bana bunu göster ve kontrollü biçimde o yöne doğru yaklaştır.”
Referans bir fotokopi makinesi değil, pusuladır.
Ve evet, referans seçimi çok önemli.
Minimal bir enstrümantal parçayı, vokal ağırlıklı ticari bir pop master ile karşılaştırırsanız tamamen yanıltıcı sonuçlar elde edebilirsiniz.
Songmastr da kendi referans rehberinde benzer bir noktaya dikkat çekiyor.
Profiller
İsterseniz işi basit tutabilir, isterseniz farklı profillerle deney yapabilirsiniz.
Profil | Genel yaklaşım |
|---|---|
Suno Adaptive | AI ile üretilmiş mix'ler için koşula bağlı düzeltmeler |
Studio Clean | Dengeli, kontrollü ve temkinli |
Studio Punch | Temiz karakteri korurken biraz daha yüksek seviye |
Studio Natural | Minimum müdahale, daha fazla dinamik |
Transparent | Çok hafif mastering |
Balanced | Modern, genel amaçlı master |
Loud | Daha agresif loudness |
Mixea | Medium / Neutral tarzı bir workflow'un benim daha temkinli yorumum |
BandLab Clarity | Kontrollü low-end ve detay odaklı profil |
Ticari servislerden ilham alan bu profiller, o servislerin proprietary algoritmalarının kopyası değil.
Bu sistemlerin gerçek DSP parametreleri açık değil.
Buradaki profiller, kamuya açık şekilde anlatılan davranışlardan ve kendi yaptığım kalibrasyonlardan yola çıkarak oluşturduğum bağımsız profiller.
İşlem sonunda ne oluyor?
EQ, opsiyonel dinamik işlemler ve gain staging tamamlandıktan sonra sinyal true-peak brickwall limiter'a ulaşıyor.
Ama süreç burada bitmiyor.
Render edilen sonuç bağımsız olarak tekrar ölçülüyor ve 4× oversampling kullanılıyor.
Reconstructed true peak hâlâ belirlenen tavanı aşıyorsa export öncesinde çıkış seviyesi yeniden düzeltiliyor.
Ardından master:
24-bit WAV + TPDF dither
olarak yazılıyor.
Ses dosyasının yanında Adaptive Master ayrıca bir JSON raporu oluşturuyor.
Raporda şunlar bulunuyor:
işlem öncesi ölçümler
alınan mastering kararları
render bilgileri
final ölçümler
uyarılar
Yani:
“AI master yaptı.”
demek yerine gerçekten ne yaptığını inceleyebiliyorsunuz.
Ben bunu çok daha fazla seviyorum.
Kurulum
Projenin şu anda en rahat kurulum deneyimi Windows'ta.
Bilgisayarınızda Git ve Python kurulu olması gerekiyor.
Terminali açıp repository'yi klonlayın:
git clone https://github.com/alesmcgregor/Mastering.git
cd MasteringWindows'ta ardından:
setup.batçalıştırın.
Setup script'i yerel bir Python virtual environment oluşturuyor ve requirements.txt içindeki sabitlenmiş bağımlılıkları kuruyor.
Proje şu anda şunları kullanıyor:
NumPy · Spotify Pedalboard · pyloudnorm · SciPy · Flask · Waitress
Kurulum tamamlandıktan sonra web arayüzünü başlatmak için:
web.batçalıştırabilirsiniz.
Tarayıcıda şu adres açılmalı:
http://127.0.0.1:8765Server yalnızca localhost üzerinde dinliyor.
Yani mastering arayüzü varsayılan olarak internete açık değil.
Yüklediğiniz ses dosyaları da harici bir mastering API'sine gönderilmiyor. Yerel proje klasörünün içinde kalıyor.
Bu benim için önemliydi.
Henüz tamamlanmamış müziğiniz kendi bilgisayarınızda kalabilsin istedim.
Komut satırından kullanım
Tarayıcı arayüzü daha kolay.
Ama otomasyon için CLI oldukça kullanışlı.
Temel mastering:
master.bat "C:\Music\track.wav"Suno Adaptive kullanmak için:
master.bat "C:\Music\track.wav" --profile suno-adaptiveBir referans parça ile:
master.bat "C:\Music\track.wav" --profile suno-adaptive --reference "C:\Music\reference.wav"İsterseniz master oluşturmadan yalnızca analiz de yapabilirsiniz:
.venv\Scripts\python.exe master.py "C:\Music\track.wav" --analyze-onlyBu komut parçanın ölçümlerini ve motorun hangi mastering planını seçmiş olacağını gösteren bir rapor oluşturuyor.
Benim için bu aynı zamanda mastering öğrenmenin güzel yollarından biri.
Sayıları görüyorsunuz.
Parçayı dinliyorsunuz.
Bir tahminde bulunuyorsunuz.
İşlem yapıyorsunuz.
Sonra sonucu karşılaştırıyorsunuz.
Web arayüzü
Yerel web uygulaması aynı motorun etrafına daha rahat kullanılabilir bir workflow ekliyor.
Bir şarkıyı sürükleyip bırakabilirsiniz.
İsterseniz referans parça ekleyebilirsiniz.
Profil seçebilirsiniz.
Intensity ve tonal direction değerlerini değiştirebilirsiniz.
Ne yaptığınızı biliyorsanız LUFS veya true-peak hedeflerini manuel olarak override etmek de mümkün.
İşlem tamamlandığında arayüz size:
önceki ölçümleri,
sonraki ölçümleri,
Original / Mastered A/B karşılaştırmasını
gösteriyor.
Uygulama aynı anda yalnızca bir mastering işlemi gerçekleştiriyor ama yerel job queue sayesinde arayüz cevap vermeye devam ediyor.
Cloud hesabı yok.
İnternette bir yerlerde upload sırası beklemek yok.
Sadece localhost ve işi yapan kendi CPU'nuz var.
Laptop'um bazen bundan pek memnun olmayabiliyor ama en azından neden bağırdığını biliyor. 🙂
Önemli bir sınır
Mastering her şeyi düzeltemez.
Bir stereo WAV dosyasının içinde artık ayrı:
vokal stem'i,
kick stem'i,
gitar stem'i,
synth kanalları
bulunmuyor.
Eğer vokal mix içinde 6 dB fazla geride kaldıysa mastering bir anda mixer'sa erişim kazanamaz.
Clipping bilgiyi yok ettiyse o bilgi dosyanın bir köşesinde saklanıp kurtarılmayı beklemiyor.
Bir algoritmanın tek bir stereo dosyadan her müzik türünün sanatsal niyetini kusursuz şekilde anlaması da mümkün değil.
Bu yüzden Adaptive Master bilerek aşırı cerrahi kararlar vermekten kaçınıyor.
Ölçebildiğini ölçüyor.
Sınırları belli kararlar veriyor.
Sonra hâlâ kulaklarınızı kullanmanız gerekiyor.
Ve o son adım hâlâ yenilmedi.
Açık kaynak demek, bu projenin bitmediği anlamına geliyor
Adaptive Master MIT lisansı altında yayınlanıyor.
Yani bu projenin kapalı bir kara kutu olarak kalmasını istemiyorum.
Fork'layın.
DSP kodunu okuyun.
Garip materyaller üzerinde test edin.
Yeni bir profil geliştirin.
Ölçümleri iyileştirin.
Kötü yaptığım bir şey bulursanız daha iyi bir implementasyon yazıp gönderin.
Projede şimdiden şu alanları kapsayan otomatik testler bulunuyor:
true-peak ceiling
kısa clipping onarımı
stereo davranışı
yoğun kaynakların korunması
24-bit çıktı
reference handling
profil kontrolleri
Ama teknik testler bir şeyin iyi duyulduğunu kanıtlayamaz.
O kısımda müziğin hâlâ insana ihtiyacı var.
Ve açıkçası, umarım bu hiç değişmez.
Proje: Adaptive Master
Kaynak: github.com/alesmcgregor/Mastering
Lisans: MIT
← MÜZIK