2009-02-03 11 views
30

Mi piacerebbe scrivere una canzone interattiva. Conterrebbe stato e logica. Un ascoltatore/utente dovrebbe essere in grado di modificare alcuni stati vars utilizzando una GUI o un'interfaccia MIDI. I listini accessibili degli ascoltatori non devono rappresentare direttamente il tempo, l'intonazione o qualsiasi altra proprietà musicale. Preferiscono rappresentare i valori che la logica dovrebbe elaborare per apportare modifiche alla canzone.Linguaggio di programmazione di alto livello per composizione musicale

Devo scrivere una piattaforma di questo tipo o qualcosa che si adatta alla mia immaginazione?

risposta

11

Vedere cSounds e PureData.

+0

[Max MSP] (http://cycling74.com/products/max/) è molto simile a PureData. – Kevin

+0

SuperCollider è di gran lunga superiore a entrambi (vedi risposta sotto) – cmc

1

Non sono sicuro se copre ciò che state cercando, ma date un'occhiata a Java Sound API. Per una FAQ su cosa può fare vedere here. I vantaggi sono già integrati nell'SDK e JRE e questo è multipiattaforma. Inoltre, è possibile creare la GUI utilizzando qualsiasi toolkit Java.

7

Se sei felice di utilizzare Java, controlla JFugue.

+0

Oppure JMusic ha caratteristiche molto più potenti rispetto a JFugue e più flessibilità vedi [1] per le applicazioni create da JMusic [1] http://explodingart.com/jmusic/applications .html – poohdedoo

+0

Il problema con jfugue è che ha bisogno di un processore super veloce, altrimenti la musica sarà molto lontana. Questo è quello che è successo a me. Non sembra possibile utilizzare i timbri midi o altro. – DankMemes

0

io in realtà non ottenere ciò che si vuole fare, ma qui è una lista di alcuni software musicali CL, sia per la composizione e cognizione: http://www.cliki.net/Music

3

Dai un'occhiata alla Strasheela:

È un sistema di composizione basato sul linguaggio di programmazione Oz. Imparare Oz non è facile, in quanto combina il paradigma di programmazione funzionale e logica. Tuttavia, se ti è piaciuto il libro SICP, allora probabilmente piacerai anche a te.

Strasheela tratta la composizione musicale come un Problema di Stattezza Vincoli (CSP) e cerca "soluzioni" per questo. Significa che lo stile musicale è definito come vincoli matematici su numeri interi (dominio finito), che devono essere soddisfatti, e il sistema di risoluzione dei vincoli incorporato calcola le soluzioni "automaticamente".

P.S .: Non riesco a programmare in Oz, ma sono sul mio modo di apprenderlo.

0

Stai cercando un Audio Programming Language. Un'altra opzione da prendere in considerazione è Processing - utilizzata da molti artisti e musicisti per questo tipo di lavoro.

-Adam

1

risposta è per NET:
ho trovato qualcosa, cassa NAudio da Mark Heath, una grande libreria musicale .NET direi che dovrebbe essere contenuta nel BCL.

midi-dot-net è un altro grande progetto C# di Tom Lokovic.

1

Per l'interazione musicale, PureData, Max/MSP e OpenMusic (questi ultimi due sono di IRCAM) sono i migliori. PureData è freeware. Google loro!

6

Ho provato PureData, CSound e SuperCollider.

CSound è molto ingombrante per programmare in, e ha avuto gravi problemi di stabilità per le mie esigenze (24bit/96kHz in tempo reale a bassa latenza) linux nella versione 4.

PureData è grafica, che rende ancora più difficile per mantenere il codice pulito e ordinato quindi con file di testo. La composizione è un dolore perché devi costruire la tua GUI di composizione, che può essere potente, ma finché sono il mio unico utente trovo che è più veloce usare il testo.

Il vincitore a mani basse è SuperCollider, perché è un linguaggio orientato agli oggetti di piccole dimensioni che è piuttosto piacevole da utilizzare. È diviso in un server audio controllato da OSC e nella lingua del client. Posso consigliare il sound synthesis server e usare il linguaggio per creare strumenti senza riserve per la sua eccellente stabilità, grande flessibilità e incredibile potenza. L'ho usato dal vivo sul palco e la performance è incredibilmente buona.

Il linguaggio di creazione dello spartito soffre di sindrome a mani multiple; in mancanza di una leadership chiara recente ci sono troppi modi per fare troppe cose con troppi limiti, ma è ancora meglio di CSound perché almeno si possono usare strutture ragionevoli di alto livello.

Ancora in cerca di un linguaggio di composizione che sia giusto.

+0

Ottima risposta! Come si confronta SuperCollider con ChucK? Qualche esperienza con quello? –

+0

Non ho provato chuck, ma dal ricercarlo direi che è un'opzione di elaborazione del suono di basso livello adeguata, ma non adatta come un linguaggio audio di uso generale. – cmc

0

È un peccato che nessuno abbia detto di Chuck ................ Chuck è un linguaggio di programmazione specificamente progettato per la generazione e la composizione di musica/audio. È possibile scaricare Chuck al numero http://chuck.stanford.edu è molto più facile da usare ed è molto familiare a c, C++, java, ecc. Tuttavia è anche più facile da imparare. Puoi trovare a Coursera informazioni su Chuck gratuitamente dall'università delle arti californiane, link here.

Problemi correlati