En başarılı sistem muhtemelen birkaç tekniği birleştirecektir. Tüm müzik türlerinde melodi, armoni, ritim ve bas dizisi üretimi için iyi çalışan bir teknik bulacağınızdan şüpheliyim.
Örneğin Markov zincirleri , melodik ve harmonik dizi üretimi için çok uygundur. Bu yöntem, zincir geçiş olasılıklarını oluşturmak için mevcut şarkıların analizini gerektirir. Markov zincirlerinin gerçek güzelliği, devletlerin istediğiniz gibi olabilmesidir.
- Melodi üretimi için, anahtara göre nota numaralarını deneyin (örneğin, anahtar C minör ise, C 0, D 1, D # 2 vb.)
- Armoni üretimi için, akorun kökü, akor türü (büyük, küçük, azaltılmış, artırılmış vb.) Ve akorun ters çevrilmesi (kök, birinci veya ikinci) için anahtara göre nota numaralarının bir kombinasyonunu deneyin.
Sinir ağları , zaman serisi tahmini için çok uygundur (tahmin) ; bu, mevcut popüler melodilere / armonilere göre eğitildiklerinde bir müzik dizisini 'tahmin etmek' için eşit derecede uygun oldukları anlamına gelir. Nihai sonuç, Markov zinciri yaklaşımına benzer olacaktır. Bellek ayak izini azaltmak dışında Markov zinciri yaklaşımına göre herhangi bir fayda düşünemiyorum.
Perdeye ek olarak, oluşturulan notaların veya akorların ritmini belirlemek için süreye ihtiyacınız olacaktır. Bu bilgileri Markov zincir durumlarına veya sinir ağı çıktılarına dahil etmeyi seçebilir veya ayrı ayrı oluşturabilir ve bağımsız adım ve süre dizilerini birleştirebilirsiniz.
Genetik algoritmalar ritim bölümlerini geliştirmek için kullanılabilir. Basit bir model ikili bir kromozom kullanabilir , ilk 32 bitin bir vuruş davulunun modelini temsil ettiği, ikinci 32 bitin bir trampet, üçüncü 32 bitin kapalı bir hi-hat vb. Olduğu . Bu durumda dezavantajı, yeni gelişen modellerin uygunluğunu değerlendirmek için sürekli insan geri bildirimine ihtiyaç duymalarıdır.
Bir uzman sistem başka tekniklerle üretilen dizileri doğrulamak için kullanılabilir. Böyle bir onaylama sistemi için bilgi tabanı, muhtemelen herhangi bir iyi müzik teorisi kitabından veya web sitesinden kaldırılabilir. Ricci Adams'ın musictheory.net'ini deneyin .