2010-02-05 18 views
27

Nota: questa NON è una domanda "musica per programmazione".Sintetizzare programmaticamente la musica di programmazione?

La mia domanda è:

Voglio scrivere un programma di computer che può sintetizzare battiti ripetitivi (che posso controllare tramite la riga di comando) per filodiffusione nelle mie orecchie.

Sono curioso di sapere se esistono strumenti per eseguire questa operazione (e in caso contrario, quali librerie utilizzare).

L'idea generale è:

1) il computer sa quello che sto facendo (dai comandi sto correndo - se sono in Vim, se i miei programmi sono la compilazione, ecc ..)

2) il computer conosce il mio stato d'animo generale (contare il numero di fallimenti del compilatore a causa di 'fare', il numero di segmentation fault, i codici non di uscita pari a zero, il numero di git commit)

3) il computer conosce il mio stato del cervello (a seconda della velocità di battitura, sto scrivendo o pensando)

Mi piacerebbe utilizzarli per qualche tipo di bio-feedback per il controllo della musica.

Questo è anche il motivo per cui la musica deve essere programmata sinteticamente (piuttosto che solo alcune tracce esistenti).

+0

Impressionante. char min fill ... – bsneeze

+0

Wow ... questa è un'idea molto intelligente ... fav. e +1. Sono interessato a vedere come va. Tieni alcuni aggiornamenti sui tuoi progressi o pubblica un link per maggiori informazioni ... – IAbstract

+0

Penso che mi piaccia l'idea di musica orchestrata dallo spyware :) – Dolph

risposta

11

Per il lato reale della musica, controlla Chuck. Ti consente di sintetizzare i suoni a livello di programmazione. Here's un video di YouTube che mostra un esempio di Chuck al lavoro. Another video evidenziando come funziona Chuck e come produrre suoni di base.

+0

+1 per ChucK ... ideale per una dimostrazione del concetto dato che è disponibile in open fonte. Anche se gli sviluppatori sembrano ammettere apertamente che potrebbe esplodere, hai l'opportunità di vedere con cosa stai lavorando e sarebbe in grado di apportare miglioramenti. – IAbstract

+0

Spero solo che la mia scheda audio non sia rotta, quindi ho potuto ascoltare i clip di YouTube ...:/ – IAbstract

8

Dovete:

  • raccogliere i dati di input che si basare la vostra musica su.

  • decidere come quelle variabili di input interesserebbero la musica

  • venire con gli algoritmi per creare le melodie e ritmi

  • codice il tutto in un pacchetto di musica synth

I tuoi articoli "conosci il tuo stato d'animo" e "conosci il tuo stato mentale", sono probabilmente dei problemi di ricerca aperti che meritano un dottorato se tu voglia fare progressi significativi su di loro!

Una volta raggiunto l'ultimo passaggio, suggerisco Csound.

Csound è un sistema di sound design, la sintesi di musica e di elaborazione del segnale, fornendo servizi per la composizione e le prestazioni su una vasta gamma di piattaforme. Non è limitato a nessuno stile musicale, essendo stato utilizzato per molti anni nella creazione di musica classica, pop, techno, ambient, sperimentale e (ovviamente) computer, così come musica per film e televisione.

Per inciso, una volta ho avuto la visione che la stanza server dovrebbe dovrebbe riflettere ambiently lo stato dei server. Quindi ho impostato chick cricket con frequenza basata su media del carico, ululati di lupo per eventi di accesso visti in coda al log di sistema, e gufi di gufo per (a volte infrequenti) risultati di pagine web ...

In quel caso era solo schiaffeggiato in Python con alcuni log di base che graffiano ....

0

Non so come farei, ma potrei dare un'occhiata a Bootchart, che fa un po 'di monitoraggio dei processi. È possibile che possa essere utile per capire cosa sta succedendo in questo momento.

1

Verificare Boodler, lo "strumento di paesaggio sonoro open source".

1

JFugue è una libreria open source (Java/JVM) per "programmare la musica senza le complessità del MIDI".

È facile da avviare e può servire come base per il programma, sia per i ritmi che per la melodia.

+0

Infatti, JFugue ha una classe Rhythm che può fornire esattamente ciò che ti serve. –

2

Music as Data è un progetto molto interessante - apparentemente ispirato a SuperCollider e Chuck.

È specificamente progettato in modo che sia facile hackerare/sperimentare con live - fondamentalmente un kit di strumenti per la creazione di DSL musicali.

Problemi correlati