www.wikidata.de-de.nina.az
Csound ist eine Audio Programmiersprache Sie wurde in den 1980er Jahren von Barry Vercoe am Electronic Music Studio des MIT basierend auf den Music N Systemen von Max Mathews entwickelt Die erste Veroffentlichung stammt aus dem Jahre 1986 2 CsoundBasisdatenErscheinungsjahr 1986Aktuelle Version 6 14 0 27 Januar 2020 1 Betriebssystem GNU Linux Mac OS X Windows AndroidProgrammiersprache CLizenz LGPLdeutschsprachig neincsound github ioAls Audio Programmiersprache dient Csound sowohl der Synthese deshalb auch als Software Synthesizer bezeichnet als auch der Bearbeitung von Klangen beispielsweise uber Filter Modulation 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 fur Live Musik im Bereich Elektronik verwendet Die fur die Echtzeitanwendung erforderlichen Steuerungssignale werden dabei uber MIDI Open Sound Control OSC oder die Computer Tastatur ubermittelt Inhaltsverzeichnis 1 Kompilierung und Ausfuhrung 2 Beispiele 3 Frontends 4 Weblinks 5 EinzelnachweiseKompilierung und Ausfuhrung BearbeitenIn der Programmiersprache C geschrieben ubernimmt Csound die Abfolge aus Kompilierung und Ausfuhrung Das in Csound geschriebene Programm wird zunachst kompiliert Ist die Kompilierung erfolgreich kann das Programm ausgefuhrt werden Die grundlegenden Einheiten eines Csound Programms werden Instrumente genannt bezeichnet durch Zahlen oder Namen Sind sie einmal kompiliert konnen sie jederzeit gestartet oder gestoppt werden 3 Dies geschieht traditionell durch eine Anweisungsliste score Partitur kann aber genauso gut in Echtzeit geschehen uber MIDI OSC Tastatur oder durch eine Generierung innerhalb des Programms selbst Beispiele BearbeitenDas folgende Csound Instrument erzeugt einen Sinuston von 415 Hertz mit 12 dB und schreibt ihn auf den Output instr Sinus Beginn einer Instrumenten Definition Schlusselwort instr aSinus poscil ampdbfs 12 415 Oszillator poscil mit Argumenten rechts und Ergebnis links out aSinus die Variable aSinus wird als Audio Signal herausgegeben endin Ende der Instrumenten Definition Schlusselwort endin Statt dieser traditionellen Schreibweise kann seit Csound 6 auch ahnlich wie in Python und anderen Sprachen funktional geschrieben werden instr Sinus out poscil ampdbfs 12 415 endin Zum Aufruf dieses Instruments verwendet man meist eine XML ahnliche Datei die aus drei Abschnitten besteht den Optionen lt CsOptions gt die beispielsweise angeben ob ein Klang in Echtzeit gewunscht ist oder eine Audio Datei geschrieben werden soll den Instrumenten lt CsInstruments gt also dem eigentlichen Programmtext der Partitur lt CsScore gt also dem Aufruf von Instanzen der definierten Instrumente Die folgende Datei schreibt den Output in Echtzeit Option o dac auf die Audiokarte und ruft das Instrument Sinus zweimal lt CsoundSynthesizer gt lt CsOptions gt Getestet mit Csound version 6 07 double samples Mar 5 2016 unter Debian Linux o dac Output auf den Digital to Analog Converter schreiben lt CsOptions gt lt CsInstruments gt sr 44100 Samplerate 44100 Hz Signalrate fur die Ausgabe ksmps 32 Anzahl von Samples in einem Audio Array Blockgrosse nchnls 1 Anzahl der Ausgabekanale 1 bedeutet Mono 2 Stereo instr Sinus out poscil ampdbfs 12 415 endin lt CsInstruments gt lt CsScore gt i Sinus 0 2 Instrument Sinus wird mit Startzeit 0 und Dauer 2 Sekunden gerufen i Sinus 3 1 Instrument Sinus wird mit Startzeit 3 und Dauer 1 gerufen lt CsScore gt lt CsoundSynthesizer gt Will man stattdessen dieses Instrument durch ein MIDI Keyboard aktivieren wird der Score freigelassen so dass Csound nach der Kompilierung lauft und auf Echtzeitereignisse Real Time Events wartet Der folgende Code bestimmt die Amplitude und Frequenz des Csound Instruments aus der Anschlagstarke Velocity und Tasten Nummer des MIDI Keyboards Ausserdem wird eine Hullkurve eingefugt so dass der Ton am Anfang und Ende keine Artefakte Klicks erzeugt lt CsoundSynthesizer gt lt CsOptions gt o dac Live Audio M a alle MIDI Gerate benutzen lesen midi velocity amp 4 Umformung der Velocity in Amplitude und Ubergabe als Parameter 4 p4 an das Instrument midi key cps 5 Umformung der Tasten Nummer MIDI Key in Frequenz und Ubergabe als Parameter 5 p5 lt CsOptions gt lt CsInstruments gt instr Sinus aSinus poscil p4 p5 Anwendung der MIDI Werte out linenr aSinus 1 5 01 Hullkurve mit 0 1 Sekunden Einblende und 0 5 Sekunden Ausblende endin lt CsInstruments gt lt CsScore gt lt CsScore gt lt CsoundSynthesizer gt Auch aus einem Csound Instrument selbst konnen 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 selbstandige Generierung von Start und Dauer ergeben sich teils kleine Uberlagerungen teils Pausen lt CsoundSynthesizer gt lt CsOptions gt o dac lt CsOptions gt lt CsInstruments gt seed 0 Zufallszahlen werden bei jedem Durchlauf neu generiert instr Sinus aSinus poscil ampdbfs random i 30 6 cpsoct random i 8 10 Lautstarken 30 6 dB Tonhohen Oktave 8 10 out linen aSinus p3 10 p3 p3 2 Ton wird mit Hullkurve herausgegeben schedule Sinus random i 1 3 random i 1 5 neue Instanz wird gerufen Start 1 3 Dauer 1 5 Sekunden endin schedule Sinus 0 3 erster Aufruf des Instruments danach Selbstgenerierung lt CsInstruments gt lt CsoundSynthesizer gt Frontends BearbeitenUm Csound Code zu schreiben diesen zu kompilieren eine Instanz von Csound aufzurufen und Echtzeitereignisse zu verwalten sind heute verschiedene Frontends verfugbar 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 ausfuhren csound endlos csd Daneben existieren Integrierte Entwicklungsumgebungen die Syntax Highlighting und graphische Benutzeroberflachen bieten Am gebrauchlichsten ist derzeit CsoundQt 4 aber auch Cabbage 5 und Blue 6 zeigen eigene Umgebungen fur spezifische Ausrichtungen Fur Android wird Csound mit einer schlanken GUI und Optionen fur die Integration von HTML5 Widgets angeboten Fur iOS existieren verschiedene Apps die Csound verwenden oder das Abspielen von Csound Programmen ermoglichen 7 Die flexibelste Einbindung von Csound bietet die API Dabei wird die Csound Engine im Kern eine Audio Bibliothek uber eine andere Programmiersprache gerufen und gesteuert Es gibt Anbindungen fur C C Python Java einschliesslich Scala und Clojure JavaScript C Common Lisp und andere 8 Weblinks Bearbeitencsound github io offizielle Community Website mit weiterfuhrenden Links zu Download Dokumentation Fontends usw CsoundQt in Qt entwickeltes grafisches Frontend Blue javabasierte grafische Entwicklungs und Kompositionsumgebung Cabbage auf Generierung von VST Plugins ausgerichtete grafische Entwicklungsumgebung en flossmanuals net Csound in der Sammlung FLOSS Manuals Csound A C Based Audio Programming Language alte Community Seite mit FAQ Handbuchern Programmierbeispielen und Zusatzprogrammen derzeit nicht mehr gepflegt Csound Projekt auf SourceForge net mit Download Dateien Richard Boulanger the csound TOOTorials englisch Richard Boulanger Introduction to Sound Design in Csound The Csound Book Chapter 1 englisch Michael Gogins Csound Downloads PDF Tutorials zu CSound und Algorithmischer Komposition mit CSound und der Erweiterung CsoundAC Python The Csound Tutorials Einsteigerseminar startet mit A Beginning Tutorial von Barry Vercoe dem Csound Erfinder Jens Groh Was ist Csound Einfuhrung im forum experimentelle musik und computer Peter Kiethe Was ist Csound In ZeM Heft Nr 23 Fruhjahr 2000 S 4 ff Zentrum fur Elektronische Musik e V csconf2011 Videos von der 1 Internationalen Csound Konferenz in Hannover 2011 csconf2015 Videos von der 3 Internationalen Csound Konferenz in St Petersburg 2015Einzelnachweise Bearbeiten Csound 6 14 0 Csound Community Richard Boulanger The Csound Book MIT Press 2000 S xxix Auch die Re Kompilierung eines Instruments bei laufendem Csound ist seit Csound 6 moglich Live Coding CsoundQt Abgerufen am 1 Oktober 2020 Home Cabbage Audio Abgerufen am 1 Oktober 2020 blue a music composition environment for Csound Abgerufen am 1 Oktober 2020 Applications of Csound Csound Community Abgerufen am 1 Oktober 2020 Csound Main Page Abgerufen am 1 Oktober 2020 Abgerufen von https de wikipedia org w index php title Csound amp oldid 204139541