-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
34 lines (21 loc) · 1.34 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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