Csound

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Csound
Aktuelle Version 6.0.4
(7. Dezember 2014)
Betriebssystem GNU/Linux, Mac OS X, Windows, Android
Programmier­sprache C
Lizenz LGPL
Deutschsprachig nein
csound.github.io

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]

Csound erzeugt aus der folgenden Eingabe im CSD-Format die WAV-Datei Middle-C.wav, die einen zweisekündigen Sinuston der Frequenz 261,626 Hz (c1, mittleres C) bei einer Samplingrate von 44,1 kHz enthält:

<CsoundSynthesizer>
 
  <CsOptions>
  ; Getestet mit: Csound version 6.03.2 (double samples) May 12 2014
    csound -W -d -o Middle-C.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  ; Oszillator über Tabelle 1, p4 und p5 entstammen der i-Anweisung aus dem Score-Teil
           out    a1         ; ausgeben
    endin
  </CsInstruments>
 
  <CsScore>
    f 1 0 8192 10 1          ; Tabelle 1 (8192 Werte) mittels Generator 10 erzeugen, auf diese Tabelle bezieht sich instr 1
 
    i 1 0 2 20000 261.626    ; Instrument 1 zum Zeitpunkt 0 für 2 Sekunden mit Amplitude 20000 (p4) und Frequenz 261,626 Hz (p5)
    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