Csound | |
Data della prima versione | 1986 |
---|---|
Autore | Barry vercoe |
Ultima versione | 5.15 (13 agosto 2020) |
Influenzato da | MUSICA IV-BF, MUSICA 11 |
Scritto in | VS |
Sistema operativo | Cross-platform |
Licenza | LGPL |
Sito web | csounds.com |
Csound designa un linguaggio di programmazione per la creazione di suoni, così come il suo compilatore di suoni. Il nome Csound deriva dal linguaggio C , con il quale è stato scritto al MIT da Barry Vercoe . È un software gratuito disponibile con licenza LGPL .
Può essere utilizzato indipendentemente o per creare plug-in audio nel formato più standard ( AU , LV2 , VST , ecc .).
Questo linguaggio è ispirato a MUSIC, una serie di vecchi programmi sviluppati da Max Mathews .
Il suo sviluppo è continuato negli anni '90 e 2000 sotto la guida di John Fitch presso l' Università di Bath , dando così vita alla versione Csound 5 inFebbraio 2005. Molti sviluppatori hanno contribuito a questo progetto, tra cui Istvan Varga, Gabriel Maldonado (che ha sviluppato una variante CsoundAV ), Robin Whittle, Richard Karpen, Michael Gogins , Matt Ingalls , Steven Yi e Victor Lazzarini .
Nel suo utilizzo più semplice, il programmatore scrive due file di testo secondo un modello specificato e predefinito: il file dell'orchestra che descrive la natura degli strumenti e il file della partitura che descrive le note , oltre ad altri parametri temporali. Csound quindi compila questi file e genera un file audio . Le versioni recenti di Csound possono ricevere, elaborare ed emettere, opzionalmente in tempo reale, flussi audio e flussi MIDI .
I file di orchestra e spartito possono essere combinati in un unico file utilizzando una struttura con tag XML . Ecco un esempio molto semplice di un file Csound unificato, che produce dopo la compilazione un file Wave contenente un'onda sinusoidale della durata di 1 secondo e una frequenza di 1 kHz a una frequenza di campionamento di 44,1 kHz.:
<CsoundSynthesizer>; <CsOptions> csound -W -d -o tone.wav </CsOptions> <CsInstruments> sr = 44100 ; Sample rate. kr = 4410 ; Control signal rate. ksmps = 10 ; Samples pr. control signal. nchnls = 1 ; Number of output channels. instr 1 a1 oscil p4, p5, 1 ; Simple oscillator. out a1 ; Output. endin </CsInstruments> <CsScore> f1 0 8192 10 1 ; Table containing a sine wave. i1 0 1 20000 1000 ; Play one second of one kHz tone. e </CsScore> </CsoundSynthesizer>L'ultima versione, Csound 6, è disponibile come file binario o codice sorgente per Linux , MacOS e Windows. Può essere utilizzato anche come libreria software o come API , che può quindi essere parte integrante di altri software. Le librerie software sono disponibili in C , Python , Java , LISP , Tcl e C ++ .