Akaame/LSTMMusic
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Training data için kullandığım veri classicalguitarmidi.com adresindeki Isaac Albeniz'e ait parçalardan oluşuyor. Midi dosyalarıyla etkileşime geçmek için Music21 isimli Python kütüphanesini kullandım. Glob kullanarak data klasöründeki her mid dosyasının ismine eriştim Music21 ile dosyaları okuyup içlerinden notaları ve akorları çıkardım. Bunları bir liste haline tutacağız. Sonra kategorik olan bu veriyle çalışabilmek için OHE kullanacağız. Sonra da Sliding Window stilinde veri üzerinde ilerleyip LSTM'e girdi olarak vereceğiz. Eğitilmiş model ağırlıklarını daha sonra beste yapmak için kullanabiliriz. Predict ile modeli kullanarak şarkı oluşturabiliriz. Not: * 1300'e yakın nota+akor var. Bu sınıflandırma görevini güçleştiriyor. Uzun süre eğitmek gerekiyor. Eksiklikler: * Bütün şarkılar arka arkaya eklenmiş halde sanki bir şarkılarmışcasına. Fakat bu doğru değil çünkü çoğunun bestelendiği anahtar birbirinden farklı Bunun yerine o şarkının gamına göre davranmamız gerekiyor. * Notaların arasındaki oktav farklarını yok saydık. Bunu yapabilmek için çok büyük bir verisetine ihtiyaç var * MIDI dosyalarından çok parçalı olanlardan ilk parçayı alıyorum sadece. Yani parça iki gitar ile çalınıyorsa ilk gitarın notalarını alıyorum yalnızca