MIXPREP: Machine learning-based multitrack mix preparation assistant

Müzik prodüksiyonu teknik ve artistik birçok karmaşık işlemin dahil olduğu süreçler bütününü temsil eden bir terim olarak karşımıza çıkmaktadır. Ses mühendisliği açısından bakıldığında prodüksiyon; kayıt, miksaj ve kalıplama şeklinde üç ana aşamada ele alınır. Ses mühendisleri üretilecek müziğin tarzını, tüketim ihtiyaçlarını, geleneksel uygulamaların sağladığı birikim ile; ancak güncel ihtiyaçları da göz önünde bulundurarak, sanatsal ve estetik açıdan değerlendirip prodüksiyon aşamalarını gerçekleştirirler. Söz konusu bu sanatsal ve estetik değerlendirmelerin kayıt mekanının akustiği, mikrofon tercihleri ve yerleşimleri, kullanılacak ses işlemcilerin tercihi, stereo alanda çalgıların yerleşimi, dinamik aralık kullanımı ve daha birçok teknik kararların verilmesinde önemli bir rolü vardır. Sanatsal ve estetik kararlar kısmı bir yana, müzik prodüksiyonunun bazı adımlarının teknik kısımları kendini tekrarlayan rutinlere sahiptir. Bu rutinler, prodüksiyonun kapsam ve büyüklüğüne bağlı olarak uzamakta ve ses mühendisinin üzerinde çalıştığı albüme estetik açıdan harcaması gereken enerjiyi ve zamanı çalmaktadır. Bu rutinlerden en dikkat çekici olanı çok kanallı ses miksaj hazırlığı uygulamasıdır. Miksaj hazırlığı, miks mühendislerinin çok kanallı miksaja başlamadan önce, DAW projelerini kendi iş akışlarına göre ayarladıkları, projeyi oluşturan kanallar üzerinde gerekli gördükleri düzenleme ve düzeltmeleri yaptıkları tüm uygulamaları kapsamaktadır. Miksaj hazırlık aşaması, her ne kadar ses mühendisleri tarafından gerekli bir rutin olarak değerlendirilse de özellikle büyük albüm projelerinde her bir şarkının sahip olduğu onlarca kanal düşünüldüğünde, oldukça zaman alan bir uygulamadır. Bu çalışmanın amacı, yeni bir araştırma alanı olarak karşımıza çıkan akıllı müzik prodüksiyonu çalışmaları kapsamında, müzik prodüksiyonundaki çok kanallı ses miksaj hazırlığını otomatikleştirmeyi hedefleyen bir yöntem geliştirmek ve bu yöntemi bir yazılım çözümü olarak ortaya koymaktır. Bu çalışma altı bölümden oluşmaktadır. birinci bölümde; amaç, kapsam ve hedefler belirtilmiş, ikinci bölümde; müzik prodüksiyonunun teorik arka planı ve temel kavramlarına yer verilmiş, üçüncü bölümde; bu çalışmanın yöntemi bağlamında yer alan çalgı tanımlama çalışmalarının literatürü, ilgili teori ve uygulamaları açıklanmış, dördüncü bölümde; çok kanallı ses miksaj hazırlığı yazılımının tasarım süreci, bu süreçte takip edilen yöntem ve prensipler ortaya konmuş, beşinci bölümde; geliştirilen yazılım ile çok kanallı proje dosyaları test edilerek, yazılıma entegre edilen çalgı tanımlama temelli makine öğrenmesi modelinin başarı sonuçları ölçülmüş ve değerlendirilmiştir. Altıncı ve son bölüm olan sonuç kısmında ise bu alanda yapılacak olan ileriki çalışmalar için araştırma önerileri sunulmuştur. İkinci bölümde, müzik prodüksiyonunun tanımı ve tarihsel gelişiminin zaman içinde değişimi manyetik bant öncesi dönemden başlanarak açıklanmıştır. Özellikle analog dönemin parladığı 60'lardan sonra, manyetik bant teknolojisinin bir kayıt ortamı olarak müzik endüstrisine ve dolayısıyla ses kayıt stüdyolarına girişi, buna bağlı olarak da zaman içerisinde oluşan teknik dil ve yıllar içerisinde şekillenen prodüksiyon süreçleri günümüz prodüksiyon rutinlerini anlamak açısından önemli bir bilgi birikimi sunmaktadır. Bu birikim, her ne kadar günümüz müzik prodüksiyonu uygulamaları artık tamamen sayısal kayıt sistemler ile gerçekleştirilse de geçerliliğini korumakta ve halen faydalanılması açısından önemlidir. Yine bu kısımda, günümüzdeki prodüksiyon aşamaları belirtilmiş ve ses mühendisliği kavramı bu bağlamda açıklanmıştır. Müzik prodüksiyonunun bir alt aşaması olarak çok kanallı miksaj hazırlığı detaylı bir şekilde açıklanmış ve önemi ortaya konmuştur. Bu bağlamda miksaj hazırlığı; kanalların proje içerisindeki organizasyonları, miks mühendisinin müzik tarzına bağlı öznel tercihleri ve ses kanallarının içerikleri üzerinde yapılacak düzenleme/düzeltmeler olacak şekilde kategorize edilmiştir. Kanalların organizasyonu; alt gruplama, alt grup renklendirme ve isimlendirmeleri, bu alt gruplar içerisindeki sinyal yönlendirmelerinin yapıldığı genel uygulamaları kapsamaktadır. Müzik tarzına bağlı öznel tercihler ise, bir miks mühendisinin, yapılacak alt gruplamalar ve bu alt gruplarındaki sinyal yollarının proje içerisindeki yerleşimleri, ses kanalları ve/veya sinyal yollarında kullanacak ses işlemcileri ve diğer ses efektleri hakkındaki tercihleridir. Kanal içerik düzeltmeleri temelli uygulamalar ise her bir kanalın tek tek dinlenmesini gerektiren; kesme/biçme, ad değiştirme, faz düzeltme perde düzeltme gibi işlemlerin yapıldığı, kontrolleri ifade etmektedir. Ardından, bu tezin hazırlamasında çıkış noktası olan akıllı müzik prodüksiyonu çalışma alanı ve hedefleri kısaca açıklanmıştır. Akıllı müzik prodüksiyonu çalışma alanı, yukarıda bahsedilen rutinleri otomatikleştirmeyi hedeflemektedir. Otomatik çok kanallı miksaj, akıllı ses işlemciler, müzik uygulamalarında semantik sistemler, oyunlar için otomatik ses üretimi vb. çözümler akıllı müzik prodüksiyonu çalışma alanı ile ilişkilidir. Çalgı tanımlama çalışmaları ile ilgili literatürün, bu çalışmada yer alan otomatik miksaj hazırlık yazılımının tasarlanmasında önemli bir rolü vardır. Bu nedenle, çalgı tanımlama literatürünün tarihsel süreci, fazla teorik detaya girilmeden bu kısımda ortaya konmuştur. Böylece, bu alanda çalışacak olan araştırmacılar için değerli bir literatür özeti oluşturulması hedeflenmiştir. Literatür özetinden sonra sesin oluşumu, sayısal ses, sinyal, sayısal ses sinyali ve sayısal ses işleme ile ilgili temel bilgiler açıklanmıştır. Yine bu kısımda, çalgı tanımlama algoritmalarında kullanılan öznitelik çıkarım yöntemleri ve makine öğrenmesi ile ilgili bazı temel kavramlar yeterli görüldüğü derecede; bu çalışmanın hitap ettiği araştırmacı kitlesi göz önünde bulundurularak bölüm üçe eklenmiştir. Yukarıda bahsedilen bilgilendirmelerden sonra, dördüncü bölümde; bu araştırma için otomatik miksaj hazırlık yazılımının geliştirilmesi sırasında takip edilen yöntem ve yaklaşımlar ortaya konmuştur. Yazılımın hangi DAW ile çalışacağı, geliştirileceği platform, içerisine gömülecek olan makine öğrenmesi kütüphanesinin seçimi; çalgı ailelerine uygun veri seti ve bu veri seti ile makine öğrenmesi modelinin oluşturulması gibi konular irdelenmiştir. Bu yazılım geliştirilirken, grafik arayüzünün basit ve kolay kullanılabilir olması, hızlı tepki süresine sahip olması, özelleştirilebilme ve çalgı tanımlama temelli makine öğrenmesi modeli ile yapılmış alt gruplandırmaların kullanıcı tarafından hızlı bir şekilde değiştirilebilmesine olanak sağlaması gibi kriterler ön planda tutulmuştur. Yukarıda bahsedilen miksaj hazırlık yaklaşımları göz önünde bulundurulduğunda, bu çalışma sadece kanalların proje içerisindeki organizasyonları ile kısıtlanmıştır. Buna göre bu yazılım; proje içerisindeki alt grupların oluşturması, isim ve renklendirmelerinin yapılması; öte yandan, bu alt gruplardaki sinyal akışlarının düzenlenmesi görevlerini bir makine öğrenmesi yöntem ve modeli yardımı ile otomatik yapacak şekilde geliştirilmiştir. Bu bağlamda, yazılım geliştirme platformu olarak Python ve DAW olarak da REAPER tercih edilmiştir. Kullanıcı, yazılımın grafik arayüzünü kullanarak proje dosyasının içeriğindeki ses dosyalarını yazılım içerisine dahil eder. Ardından projedeki ses dosyaları kullanıcı tarafından on adet öntanımlı alt grupta için, grup ismi ve renklerini değiştirilerek organize edilebilir. Yine bu işlem yazılıma gömülü, daha önceden amaca yönelik bir ses kütüphanesi ile yaratılmış bir veri setinin kullanıldığı makine öğrenmesi modeli ile otomatik olarak da yaptırılabilir. Otomatik alt gruplama için bu çalışmada bir tekrarlı ses kütüphanesi kullanılmış ve bu ses kütüphanesi altı çalgı ailesi oluşturacak şeklinde düzenlenmiştir. Düzenlenen dosyalar ile ses içerik analizi yöntemleri kullanılarak zaman ve tını bazlı öznitelikler çıkartıldı ve bir veri seti meydana getirildi. Devamında, SVM makine öğrenmesi algoritması ile bu veri seti ile eğitilerek bu tez kapsamında belirlenen çalgı ailelerinin tanımlanması amacıyla bir makine modeli oluşturuldu. Öznitelik çıkarımı ve sınıflandırma temelli makine öğrenmesi modeli için pyAudioAnalysis kütüphanesi tercih edilmiştir. Normalde konsol bazlı çalışan bu kütüphaneye detaylı bir grafik arayüz eklenerek bir modül haline getirilmiş ve miksaj hazırlık programı içerisine gömülmüştür. Böylece kullanıcılara, tercih ettikleri öznitelikler ve istatistik hesaplamalara göre veri seti ve modeller oluşturabilmeleri için imkan sağlanmıştır. Beşinci bölümde, bu çalışma kapsamında üretilen altı çalgı aileli veri seti ve ilgili makine öğrenmesi modeli, dört müzik tarzında toplamda 80 adet çok kanallı müzik projesi ile ayrı ayrı test edilmiştir. Proje bazlı bu testte başarı ölçütü olarak, her bir ses dosyasının ismi ile o ses dosyasının mevcut makine modeli tarafından yerleştirildiği çalgı ailesine uyumluluğu kriter olarak alınmıştır. Örneğin, drums. wav isimli bir ses dosyası eğer çalgı tanımlama algoritması tarafından davul ve perküsyon sınıfına yerleştirildiyse bu sonuç başarılı sayılmıştır. Bu test ile toplamda 1428 adet ses dosyası mevcut veri seti ve makine öğrenmesi modeli ile denenmiş ve bunlardan 924 tanesinin doğru sınıflandırıldığı görülmüştür. Böylece uygulamada mevcut modelin genel başarı oranının 64 .71% olduğu gözlemlenmiştir. Çalgı grupları için başarı oranları, Davul ve Perküsyonlar için 84 .80%, Baslar için 67 .72%, Yaylılar için 61 .11%, Gitarlar için 53 .66%, Üflemeliler için 25 .00% ve Tuşlular için ise 16 .44% olduğu görülmüştür. Müzik tarzları açısından başarı oranları ise Rock için 68 .52%, Pop için 65 .89%, Caz için 67 .20%, Elektronik/Dans için 57 .10% olarak belirlenmiştir. Detaylı sonuçlara tezin ekler kısmında yer verilmiştir.