Csound

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Csound
Aktuelle Version 6.02
(26. Januar 2014)
Betriebssystem GNU/Linux, Mac OS X, Windows
Programmier­sprache C
Lizenz LGPL
Deutschsprachig nein
www.csounds.com

Csound ist ein Software-Synthesizer, mit dessen Hilfe sich Klangkompositionen vollständig aus Quelltext generieren lassen. Die typischen Erzeugnisse des Csound-Compilers sind Audiodateien; Echtzeit-Klangerzeugung ist über MIDI möglich, seit Csound5 wird auch das Open Sound Control (OSC) Protokoll unterstützt, wobei hier die enormen Möglichkeiten der Klangsynthese nicht ausgelotet werden.

Aufgrund des Umgangs mit Quelltext, der dem Programmieren ähnelt, wird Csound auch als Programmiersprache betrachtet. Genau wie für andere Programmiersprachen existieren etliche Tools und sogar Integrierte Entwicklungsumgebungen für Csound. Die üblichen Softwaretechniken wie Versionierung lassen sich so auch für Klänge und Kompositionen nutzen.

Um eine Audiodatei zu erzeugen, werden entweder je zwei Quelldateien verarbeitet

  • eine Orchestra-Datei (Endung orc), die Klangeigenschaften von Instrumenten definiert, und
  • eine Score-Datei (engl. für Partitur, Endung sco), die die Abfolge von Klangereignissen regelt,

oder eine einzige XML-Datei (Endung csd), die diese Angaben vereint und zusätzlich die Optionen enthält, die sonst über die Befehlszeile an Csound zu übergeben wären.

Beispiel[Bearbeiten]

Um mit Csound eine WAV-Datei zu erzeugen, die einen einsekündigen Sinuston der Frequenz 1000 Hz bei einer Samplingrate von 44,1 kHz enthält, kann folgende Datei im CSD-Format genutzt werden:

<CsoundSynthesizer>
 
  <CsOptions>
    csound -W -d -o tone.wav ; Ausgabe erfolgt in die Datei 'tone.wav'
  </CsOptions>
 
  <CsInstruments>
    sr     = 44100           ; Samplerate 44100 Hz (Signalrate für die Ausgabe)
    kr     = 4410            ; Steuersignal-Rate (mit dieser Auflösung fließen Steuerparameter ein)
    ksmps  = 10              ; Samples je Steuersignal-Einheit
    nchnls = 1               ; Anzahl der Ausgabekanäle (1 bedeutet Mono, 2 Stereo)
 
    instr 1 
    a1     oscil p4, p5, 1   ; Momentanwert eines einfachen Oszillators (Sinusgenerator) ermitteln
           out a1            ; und ausgeben
    endin
  </CsInstruments>
 
  <CsScore>
    f1 0 8192 10 1           ; Tabelle für Sinusschwingung erzeugen, auf diese wird sich mit der i-Anweisung bezogen
    i1 0 1 20000 1000        ; zum Zeitpunkt 0 beginnt ein Ton mit 1 Sekunde Dauer, der relativen Lautstärke 20000 und der Frequenz 1000 Hz
    e
  </CsScore>
 
</CsoundSynthesizer>

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Artikel zu Barry Vercoe der englischen Wikipedia
  2. The Father of Csound - Barry-Vercoe-Biografie auf der Csound-Website