<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Csound</id>
	<title>Csound - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Csound"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Csound&amp;action=history"/>
	<updated>2026-06-04T06:56:14Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Csound&amp;diff=1170295&amp;oldid=prev</id>
		<title>imported&gt;Trustable am 28. Juni 2025 um 23:34 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Csound&amp;diff=1170295&amp;oldid=prev"/>
		<updated>2025-06-28T23:34:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Software&lt;br /&gt;
| Name                 = &amp;lt;!-- Nur falls abweichend vom Artikelnamen --&amp;gt;&lt;br /&gt;
| Logo                 = &lt;br /&gt;
| Screenshot           = &lt;br /&gt;
| Beschreibung         = &amp;lt;!-- Beschreibung des Screenshots! --&amp;gt;&lt;br /&gt;
| Maintainer           = &lt;br /&gt;
| Hersteller           =&lt;br /&gt;
| Erscheinungsjahr     =&lt;br /&gt;
| AktuelleVersion      = &amp;lt;!-- Wikidata --&amp;gt;&lt;br /&gt;
| Betriebssystem       = [[Linux|GNU/Linux]], [[Mac OS X]], [[Microsoft Windows|Windows]], [[Android (Betriebssystem)|Android]]&lt;br /&gt;
| Programmiersprache   = [[C (Programmiersprache)|C]]&lt;br /&gt;
| Kategorie            = [[Software-Synthesizer]]&lt;br /&gt;
| Lizenz               = [[LGPL]]&lt;br /&gt;
| Deutsch              = nein&lt;br /&gt;
| Website              = [https://csound.github.io/ csound.github.io]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Csound&amp;#039;&amp;#039;&amp;#039; ist eine [[Audio]]-[[Programmiersprache]]. Sie wurde in den 1980er Jahren von Barry Vercoe am Electronic Music Studio des [[Massachusetts Institute of Technology|MIT]], basierend auf den Music-N Systemen von [[Max Mathews]], entwickelt. Die erste Veröffentlichung stammt aus dem Jahre 1986.&amp;lt;ref&amp;gt;Richard Boulanger: &amp;#039;&amp;#039;The Csound Book.&amp;#039;&amp;#039; MIT Press, 2000, S. xxix.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Audio-Programmiersprache dient Csound sowohl der [[Klangsynthese|Synthese]] (deshalb auch als [[Software-Synthesizer]] bezeichnet) als auch der Bearbeitung von Klängen, beispielsweise über [[Filter (Elektrotechnik)|Filter]], [[Modulation (Technik)|Modulation]], [[Granuliersythese|Granulierung]] oder [[Fourier-Transformation]]. In den 1980er und 90er Jahren wurde Csound meistens offline zur Generierung von Audio-Dateien eingesetzt; seit den 2000er Jahren ebenso für Live-Musik im Bereich [[Elektronische Musik|Elektronik]] verwendet. Die für die Echtzeitanwendung erforderlichen Steuerungssignale werden dabei über [[MIDI]], [[Open Sound Control]] (OSC) oder die Computer-Tastatur übermittelt.&lt;br /&gt;
&lt;br /&gt;
== Kompilierung und Ausführung ==&lt;br /&gt;
&lt;br /&gt;
In der Programmiersprache [[C (Programmiersprache)|C]] geschrieben, übernimmt Csound die Abfolge aus [[Kompilierung]] und Ausführung. Das in Csound geschriebene Programm wird zunächst kompiliert. Ist die Kompilierung erfolgreich, kann das Programm ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Die grundlegenden Einheiten eines Csound-Programms werden „Instrumente“ genannt (bezeichnet durch Zahlen oder Namen). Sind sie einmal kompiliert, können sie jederzeit gestartet oder gestoppt werden.&amp;lt;ref&amp;gt;Auch die Re-Kompilierung eines Instruments bei laufendem Csound ist seit Csound 6 möglich („Live-Coding“)&amp;lt;/ref&amp;gt; Dies geschieht traditionell durch eine Anweisungsliste („score“ = Partitur), kann aber genauso gut in Echtzeit geschehen (über [[MIDI]], [[Open Sound Control|OSC]], Tastatur), oder durch eine Generierung innerhalb des Programms selbst.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
Das folgende Csound-Instrument erzeugt einen Sinuston von 415 Hertz mit −12 dB und schreibt ihn auf den Output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
instr Sinus                        ; Beginn einer Instrumenten-Definition (Schlüsselwort &amp;#039;instr&amp;#039;)&lt;br /&gt;
 aSinus poscil ampdbfs(-12), 415   ; Oszillator &amp;#039;poscil&amp;#039; mit Argumenten rechts und Ergebnis links&lt;br /&gt;
 out aSinus                        ; die Variable &amp;#039;aSinus&amp;#039; wird als Audio-Signal herausgegeben&lt;br /&gt;
endin                              ; Ende der Instrumenten-Definition (Schlüsselwort &amp;#039;endin&amp;#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Statt dieser traditionellen Schreibweise kann seit Csound 6 auch (ähnlich wie in Python und anderen Sprachen) funktional geschrieben werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
instr Sinus&lt;br /&gt;
 out(poscil(ampdbfs(-12), 415))&lt;br /&gt;
endin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Aufruf dieses Instruments verwendet man meist eine [[Extensible Markup Language|XML]]-ähnliche Datei, die aus drei Abschnitten besteht:&lt;br /&gt;
* den &amp;#039;&amp;#039;Optionen&amp;#039;&amp;#039; &amp;amp;lt;CsOptions&amp;gt;, die beispielsweise angeben, ob ein Klang in Echtzeit gewünscht ist oder eine Audio-Datei geschrieben werden soll&lt;br /&gt;
* den &amp;#039;&amp;#039;Instrumenten&amp;#039;&amp;#039; &amp;amp;lt;CsInstruments&amp;gt;, also dem eigentlichen Programmtext&lt;br /&gt;
* der &amp;#039;&amp;#039;Partitur&amp;#039;&amp;#039; &amp;amp;lt;CsScore&amp;gt;, also dem Aufruf von Instanzen der definierten Instrumente.&lt;br /&gt;
&lt;br /&gt;
Die folgende Datei schreibt den Output in Echtzeit (Option &amp;#039;-o dac&amp;#039;) auf die Audiokarte und ruft das Instrument „Sinus“ zweimal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;CsoundSynthesizer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;CsOptions&amp;gt;&lt;br /&gt;
  ; Getestet mit: Csound version 6.07 (double samples) Mar 5 2016 unter Debian Linux&lt;br /&gt;
    -o dac             ; Output auf den Digital-to-Analog-Converter schreiben&lt;br /&gt;
  &amp;lt;/CsOptions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;CsInstruments&amp;gt;&lt;br /&gt;
    sr     = 44100     ; Samplerate 44100 Hz (Signalrate für die Ausgabe)&lt;br /&gt;
    ksmps  = 32        ; Anzahl von Samples in einem Audio-Array (Blockgröße)&lt;br /&gt;
    nchnls = 1         ; Anzahl der Ausgabekanäle (1 bedeutet Mono, 2 Stereo)&lt;br /&gt;
&lt;br /&gt;
    instr Sinus&lt;br /&gt;
      out(poscil(ampdbfs(-12), 415))&lt;br /&gt;
    endin&lt;br /&gt;
  &amp;lt;/CsInstruments&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;CsScore&amp;gt;&lt;br /&gt;
    i &amp;quot;Sinus&amp;quot; 0 2      ; Instrument &amp;quot;Sinus&amp;quot; wird mit Startzeit 0 und Dauer 2 (Sekunden) gerufen&lt;br /&gt;
    i &amp;quot;Sinus&amp;quot; 3 1      ; Instrument &amp;quot;Sinus&amp;quot; wird mit Startzeit 3 und Dauer 1 gerufen&lt;br /&gt;
  &amp;lt;/CsScore&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CsoundSynthesizer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Will man stattdessen dieses Instrument durch ein MIDI-Keyboard aktivieren, wird der Score freigelassen, so dass Csound nach der Kompilierung läuft und auf Echtzeitereignisse (Real-Time Events) wartet. Der folgende Code bestimmt die Amplitude und Frequenz des Csound-Instruments aus der Anschlagstärke (Velocity) und Tasten-Nummer des MIDI-Keyboards. Außerdem wird eine Hüllkurve eingefügt, so dass der Ton am Anfang und Ende keine Artefakte (Klicks) erzeugt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;CsoundSynthesizer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;CsOptions&amp;gt;&lt;br /&gt;
    -o dac                ; Live Audio&lt;br /&gt;
    -M a                  ; alle MIDI-Geräte benutzen / lesen&lt;br /&gt;
    --midi-velocity-amp=4 ; Umformung der Velocity in Amplitude und Übergabe als Parameter 4 (p4) an das Instrument&lt;br /&gt;
    --midi-key-cps=5      ; Umformung der Tasten-Nummer (MIDI Key) in Frequenz und Übergabe als Parameter 5 (p5)&lt;br /&gt;
  &amp;lt;/CsOptions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;CsInstruments&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    instr Sinus&lt;br /&gt;
      aSinus = poscil(p4, p5)         ; Anwendung der MIDI-Werte&lt;br /&gt;
      out(linenr(aSinus,.1,.5,.01))   ; Hüllkurve mit 0.1 Sekunden Einblende und 0.5 Sekunden Ausblende&lt;br /&gt;
    endin&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/CsInstruments&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;CsScore&amp;gt;&lt;br /&gt;
  &amp;lt;/CsScore&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CsoundSynthesizer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch aus einem Csound-Instrument selbst können Echtzeit-Ereignissen generiert werden. Im folgenden Beispiel ruft jede aufgerufene Instanz eine neue Instanz des Instruments „Sinus“ auf, so dass sich eine endlose Kette ergibt. Durch die selbständige Generierung von Start und Dauer ergeben sich teils kleine Überlagerungen, teils Pausen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;CsoundSynthesizer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;CsOptions&amp;gt;&lt;br /&gt;
    -o dac&lt;br /&gt;
  &amp;lt;/CsOptions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;CsInstruments&amp;gt;&lt;br /&gt;
    seed 0                                           ; Zufallszahlen werden bei jedem Durchlauf neu generiert&lt;br /&gt;
&lt;br /&gt;
    instr Sinus&lt;br /&gt;
      aSinus = poscil(ampdbfs(random:i(-30,-6)), cpsoct(random:i(8,10)))  ; Lautstärken -30..-6 dB, Tonhöhen Oktave 8..10&lt;br /&gt;
      out(linen(aSinus,p3/10,p3,p3/2))               ; Ton wird mit Hüllkurve herausgegeben&lt;br /&gt;
      schedule(&amp;quot;Sinus&amp;quot;,random:i(1,3),random:i(1,5))  ; neue Instanz wird gerufen (Start 1..3, Dauer 1..5 Sekunden)&lt;br /&gt;
    endin&lt;br /&gt;
&lt;br /&gt;
    schedule(&amp;quot;Sinus&amp;quot;,0,3)                            ; erster Aufruf des Instruments, danach Selbstgenerierung&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/CsInstruments&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/CsoundSynthesizer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frontends ==&lt;br /&gt;
&lt;br /&gt;
Um Csound-Code zu schreiben, diesen zu kompilieren, eine Instanz von Csound aufzurufen und Echtzeitereignisse zu verwalten, sind heute verschiedene Frontends verfügbar. Klassisch ist dabei der Aufruf von Csound auf der [[Kommandozeile]]. Wird etwa das letzte Beispiel als Nur-Text-Datei unter dem Namen „endlos.csd“ gespeichert, so kann man diese unter Linux, Mac oder Windows in einem Terminal so ausführen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
csound endlos.csd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daneben existieren [[Integrierte Entwicklungsumgebung]]en, die Syntax-Highlighting und graphische Benutzeroberflächen bieten. Am gebräuchlichsten ist derzeit CsoundQt,&amp;lt;ref&amp;gt;{{Internetquelle |url=http://csoundqt.github.io/ |titel=CsoundQt |abruf=2020-10-01}}&amp;lt;/ref&amp;gt; aber auch Cabbage&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.cabbageaudio.com/ |titel=Home {{!}} Cabbage Audio |abruf=2020-10-01}}&amp;lt;/ref&amp;gt; und Blue&amp;lt;ref&amp;gt;{{Internetquelle |url=https://blue.kunstmusik.com/ |titel=blue - a music composition environment for Csound |abruf=2020-10-01}}&amp;lt;/ref&amp;gt; zeigen eigene Umgebungen für spezifische Ausrichtungen. Für [[Android (Betriebssystem)|Android]] wird Csound mit einer schlanken [[Grafische Benutzeroberfläche|GUI]] und Optionen für die Integration von HTML5-[[Widgets]] angeboten. Für [[iOS (Betriebssystem)|iOS]] existieren verschiedene Apps, die Csound verwenden, oder das Abspielen von Csound-Programmen ermöglichen.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://csound.com/create.html |titel=Applications of Csound {{!}} Csound Community |abruf=2020-10-01}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die flexibelste Einbindung von Csound bietet die [[Programmierschnittstelle|API]]. Dabei wird die Csound Engine (im Kern eine Audio-[[Programmbibliothek|Bibliothek]]) über eine andere Programmiersprache gerufen und gesteuert. Es gibt Anbindungen für [[C (Programmiersprache)|C]], [[C++]], [[Python (Programmiersprache)|Python]], [[Java (Programmiersprache)|Java]] (einschließlich [[Scala (Programmiersprache)|Scala]] und [[Clojure]]), [[JavaScript]], [[C-Sharp|C#]], [[Common Lisp]] und andere.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://csound.com/docs/api/index.html |titel=Csound: Main Page |abruf=2020-10-01}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://csound.github.io/ csound.github.io] – offizielle Community-Website mit weiterführenden Links zu Download, Dokumentation, Fontends usw.&lt;br /&gt;
* [http://csoundqt.github.io/ CsoundQt] – in [[Qt (Bibliothek)|Qt]] entwickeltes grafisches Frontend&lt;br /&gt;
* [http://blue.kunstmusik.com/ Blue] – [[Java-Plattform|javabasierte]] grafische Entwicklungs- und Kompositionsumgebung&lt;br /&gt;
* [http://www.cabbageaudio.com/ Cabbage] – auf Generierung von [[Virtual Studio Technology|VST Plugins]] ausgerichtete grafische Entwicklungsumgebung&lt;br /&gt;
* [http://floss.booktype.pro/csound/preface/ en.flossmanuals.net] – Csound in der Sammlung [[FLOSS Manuals]]&lt;br /&gt;
* [http://www.csounds.com/ Csound: A C-Based Audio Programming Language] – alte Community-Seite mit [[FAQ]], Handbüchern, Programmierbeispielen und Zusatzprogrammen; derzeit nicht mehr gepflegt&lt;br /&gt;
* [http://sourceforge.net/projects/csound Csound-Projekt] auf [[SourceForge]].net mit Download-Dateien&lt;br /&gt;
* Richard Boulanger: [http://www.csounds.com/toots/index.html the csound TOOTorials] (englisch)&lt;br /&gt;
* Richard Boulanger: [http://www.csounds.com/chapter1/ &amp;#039;&amp;#039;Introduction to Sound Design in Csound&amp;#039;&amp;#039;.] The Csound Book, Chapter 1 (englisch)&lt;br /&gt;
* [http://michael-gogins.com/?page_id=59 Michael Gogins » Csound Downloads] – PDF-Tutorials zu CSound und [[Algorithmische Komposition|Algorithmischer Komposition]] mit CSound und der Erweiterung &amp;#039;&amp;#039;CsoundAC Python&amp;#039;&amp;#039;&lt;br /&gt;
* [http://cara.gsu.edu/courses/Csound_Users_Seminar/csound/3.46/CsTutorials.html &amp;#039;&amp;#039;The Csound Tutorials&amp;#039;&amp;#039;.] Einsteigerseminar, startet mit &amp;#039;&amp;#039;A Beginning Tutorial&amp;#039;&amp;#039; von [[Barry Vercoe]] dem Csound-Erfinder&lt;br /&gt;
* Jens Groh: [http://www.harmonik.de/csound/index.html &amp;#039;&amp;#039;Was ist Csound?&amp;#039;&amp;#039;] Einführung im forum experimentelle musik und computer&lt;br /&gt;
* Peter Kiethe: [http://www.zem.de/heft/23_csound.htm &amp;#039;&amp;#039;Was ist Csound&amp;#039;&amp;#039;.] In: &amp;#039;&amp;#039;ZeM&amp;#039;&amp;#039;, Heft Nr. 23, Frühjahr 2000, S. 4 ff. (Zentrum für Elektronische Musik e.&amp;amp;nbsp;V.)&lt;br /&gt;
* [https://www.youtube.com/user/csconf2011 csconf2011] – Videos von der 1. Internationalen Csound Konferenz in Hannover, 2011&lt;br /&gt;
* [https://www.youtube.com/channel/UCVI8hmelNnKGP-wnf9FqNYQ csconf2015] – Videos von der 3. Internationalen Csound Konferenz in St. Petersburg, 2015&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Software-Synthesizer]]&lt;br /&gt;
[[Kategorie:Freie Musiksoftware]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Trustable</name></author>
	</entry>
</feed>