Sto cercando di divertirmi con la musica generatrice procedurale. Spero di trovare un'API davvero semplice in cui sia possibile richiamare lo strumento, la nota, la durata e mettere insieme una canzone (prenderò tutto ovviamente, ma quella sarebbe la mia preferenza). C'è qualche libreria che fa questo?Che cos'è una buona API per la creazione di musica tramite la programmazione?
risposta
La soluzione migliore è un ambiente di programmazione musicale, di cui ce ne sono diversi.
Csound è uno dei più noti. Ecco il loro website.
Max MSP è un'altra opzione ampiamente utilizzata e fornisce anche un'interfaccia di programmazione visiva. È, tuttavia, commerciale.
Un'altra opzione ben nota (e ampiamente utilizzata dai musicisti elettronici sperimentali) è SuperCollider.This è la sua pagina Web.
Ecco uno Wikipedia article che descrive lingue/ambienti simili.
È inoltre possibile utilizzare un linguaggio di programmazione generale con le librerie corrette per eseguire operazioni audio/musicali. Java, per esempio, fornisce lo Java Sound API.
Buona chiamata su CSound, me ne ero dimenticato. So che BT l'ha usato per fare una delle canzoni del suo album This Binary Universe: http://en.wikipedia.org/wiki/This_Binary_Universe –
Max/MSP proviene da Pure Data, un progetto open-source di Miller Puckette. Vedi: http://www-crca.ucsd.edu/~msp/software.html –
È difficile dare consigli specifici, poiché non è stata specificata una lingua. La maggior parte delle lingue ha una discreta libreria MIDI, sarebbe il primo posto che guarderei, a meno che non sia necessario qualcosa di più pesante di quanto consentito dal formato MIDI.
Si potrebbe voler guardare Common Music.
E 'un sistema di composizione musicale che trasforma le rappresentazioni algoritmiche di alto livello dei processi musicali e la struttura in una varietà di protocolli di controllo per la sintesi del suono e la visualizzazione
Forse Generative music è un buon inizio. Googling porta anche un paio di link interessanti. Brian Eno creato musica proceduralmente generata per Spore.
JFugue è stato sviluppato appositamente per supportare la generazione procedurale della musica. È un'API Java gratuita, open source (LGPL).
Qualcuno sa di opzioni non LGPL? –
La versione più recente di JFugue, ora in versione beta, utilizza Apache License 2.0. –
Fantastico, grazie! –
Sono impressionato nel vedere che una domanda come questa non è stata votata e non contrassegnata come "Domande che ci chiedono di consigliare o trovare un libro, uno strumento, una libreria di software, un tutorial o altra risorsa fuori sito". Se l'autore avesse 1 punto reputazione, sono sicuro che tutti gli avrebbero detto di fare la sua domanda su StackExchange invece – GGO