Yapay Zeka Müzik Besteler Mi?

IT Share olarak bu sorunun cevabını bulmak için kendi denemelerimizi yaptık. Elde ettiğimiz en başarılı sonuç olarak da Bethoven-Ai isimli müzisyen yapay zeka yazılımını geliştridik. Python, Tensorflow, Keras kullanarak yapay sinir ağları ile geliştirdiğimiz yapay zekanın daha önce dinlediği 101 adet klasik müzik bestesi üzerinden kendini eğiterek beste yapmasını sağladık.

Tasarladığımız yapay sinir ağı mimarisinde LSTM(Long Short Term Memory) kullandık. Peki nedir bu LSTM? Bu sinir ağı modeli bugüne kadar geliştirilen RNN’nin (Recurrent Neural Network) diğer bir deyişle özyinelemeli sinir ağının yerini almaya başlamış daha yeni bir sinir ağı tasarımı, özyinelemeli sinir ağları kendisine verilen bir dizi verinin ardından sıradaki yeni veriyi tahmin etmek için tasarlanmış bir model ve işinde de oldukça başarılı.Bu şekilde geliştirilen bir model ile geleceğe dönük tahminler yapmak mümkün çünkü bu model kendisine verilen bir dizi veri sonrasında sıradaki veriyi tahmin etme özelliğine sahip. Böyle bir tasarımla hava durumu tahminleri, piyasa tahminleri yapmak olası bunula beraber google ile arama yaparken hergün bir RNN ile muhatabız çünkü aradığımız kelimelerin devamını tahmin eden de yine bir RNN mimarisi. Fakat bu yapı cümlelerin devamını tahmin edebilmesine karşın kendisi özgün bir yazınsal eser ortaya koyması istendiğinde oldukça yetersiz. Yani kısa cümlelerde sıradaki kelimeyi tahmin edebiliyor kısa cümlelerle insanlara cevap verebiliyor ancak kendisinden özgün bir uzun metin yazması istendiğinde saçmalamaktaydı. Çünkü RNN son çıktıladığı veriyi bir sonraki adım için girdi kabul ederek bu işi yapıyor ve bundan ötürü birkaç basamak sonra yazının başlangıçla ilgisi kalmıyordu. Bu sebeple bu işi de başarmak için LSTM geliştirildi. Bu ağ sayesinde cümleler yazılırken başlangıçtan tamamen kopma hiç gerçekleşmemekte ve yazının bütünlüğü sağlanırken özgün eser denilebilecek çalışmalar ortaya konabiliyordu.

Bethoven Ai için içinde LSTM katmanları barındıran birsinir ağı tasarımını tercih ettik. Müzik eserlerini benzer bir projenin datasetinden aldık, dosyalar midi formatında. Midi eski tip (çok çok eski tip) bilgisayar oyunlarının (örneğin:Super Mario) müzik dosyası türü, bu dosya içinde müzik eserleri notalarıyla kayıtlı bizde python’da pretty_midi kütüphanesini kullanarak bu dosyalardaki nota, nota uzunluğu, enstrumana vuruş gücü gibi bilgileri sayısal veriler haline getirerek yapay zekamızı bu veriler ile eğittik. Şuan 100 notalık birimler halinde veri alan ve 101. notayı tahmin ederek beste üreten bir yapay zekaya sahibiz bu projeyi yayınladığımız github repository linkini aşağıya bırakıyorum. Bethoven Ai ye ait 6 eseri aşağıdan dinleyebilirsiniz, çok yakında geliştirdiğim satranç yapay zekası “Yavuz” ile ilgili yazımda buluşmak üzere hoşçakalın.

 

Download Name Play Size Duration
download composed_14
1.2 MB 1:15 min
download composed_17
0.5 MB 0:30 min
download composed_19
0.7 MB 0:48 min
download composed_20
0.7 MB 0:48 min
download composed_21
0.5 MB 1:08 min
download composed_4
2.8 MB 3:01 min

https://github.com/OMERKOYLU/Bethoven-Ai