Il sistema di maggior successo probabilmente combinerà diverse tecniche. Dubito che troverai una tecnica che funziona bene per la generazione di melodia, armonia, ritmo e sequenza di basso in tutti i generi musicali.
Le catene di Markov , ad esempio, sono adatte per la generazione di sequenze melodiche e armoniche. Questo metodo richiede l'analisi delle canzoni esistenti per costruire le probabilità di transizione della catena. La vera bellezza delle catene di Markov è che gli stati possono essere quello che vuoi.
- Per la generazione della melodia, prova i numeri di nota relativi alla chiave (ad esempio, se la chiave è C minore, C sarebbe 0, D sarebbe 1, Re # sarebbe 2 e così via)
- Per la generazione dell'armonia, prova una combinazione di numeri di nota relativi alla chiave per la fondamentale dell'accordo, il tipo di accordo (maggiore, minore, diminuito, aumentato, ecc.) E l'inversione dell'accordo (fondamentale, primo o secondo)
Le reti neurali sono adatte alla predizione di serie temporali (previsione), il che significa che sono ugualmente adatte a "prevedere" una sequenza musicale quando vengono addestrate contro melodie / armonie popolari esistenti. Il risultato finale sarà simile a quello dell'approccio a catena di Markov. Non riesco a pensare ad alcun vantaggio rispetto all'approccio della catena di Markov oltre alla riduzione dell'impronta di memoria.
Oltre all'altezza avrete bisogno della durata per determinare il ritmo delle note o degli accordi generati. Puoi scegliere di incorporare queste informazioni negli stati della catena di Markov o negli output della rete neurale, oppure puoi generarle separatamente e combinare le sequenze di intonazione e durata indipendenti.
Gli algoritmi genetici possono essere utilizzati per far evolvere le sezioni del ritmo. Un modello semplice potrebbe utilizzare un cromosoma binario in cui i primi 32 bit rappresentano il pattern di una grancassa, i secondi 32 bit un rullante, i terzi 32 bit un charleston chiuso e così via. Lo svantaggio in questo caso è che richiedono un feedback umano continuo per valutare l'idoneità dei modelli appena evoluti.
Un sistema esperto può essere utilizzato per verificare le sequenze generate dalle altre tecniche. La base di conoscenza per un tale sistema di convalida può probabilmente essere estratta da qualsiasi buon libro o sito web di teoria musicale. Prova musictheory.net di Ricci Adams .