SuperCollider

SuperCollider

Basisdaten

Erscheinungsjahr 1996
Aktuelle Version 3.14.1[1]
(24. November 2025)
Betriebssystem FreeBSD[2], Linux[3], macOS[3], Microsoft Windows[3]
Kategorie Musiksoftware
Lizenz GPL 3.0+ (Freie Software)
supercollider.github.io

SuperCollider (SC) ist eine integrierte Entwicklungsumgebung und Programmiersprache für Echtzeit-Klangsynthese und algorithmische Komposition. Sie wurde seit 1996 von James McCartney entwickelt und im Jahr 2002 vom Autor unter der GNU GPL freigegeben. Seitdem hat sie sich zu einem System weiterentwickelt, das sowohl von Künstlern und Komponisten als auch von Wissenschaftlern in den Bereichen Klang, Musik und Medienkunst eingesetzt wird.

Architektur

Ab Version 3 besteht die Programmierumgebung SuperCollider aus 2 Komponenten: dem Server scsynth und der Sprache bzw. dem Client sclang, die miteinander über das Protokoll Open Sound Control kommunizieren. Die Programmiersprache sclang kombiniert die objektorientierte Struktur von Smalltalk mit Elementen funktionaler Programmierung und einer an C angelehnten Syntax. Der Server scsynth erzeugt und bearbeitet digitale Audiosignale mit Hilfe von aus elementaren Synthesebausteinen (sogenannten UGens) gebildeten Graphen. Da die gesamte externe Steuerung des Servers über das OSC-Protokoll erfolgt, können neben sclang auch andere Programme bzw. Programmierumgebungen mit scsynth kommunizieren und so die Signalverarbeitung steuern.

Beispielcode

// spiele eine Mischung aus Rosa Rauschen und einem Sinuston von 800 Hz
{ SinOsc.ar(800, 0, 0.1) + PinkNoise.ar(0.01) }.play;

// moduliere die Frequenz des Sinustons sowie die Amplitude des Rauschsignals mit einem anderen Sinussignal,
// dessen Frequenz wiederum von der horizontalen Position des Mauszeigers abhaengt
{
	var x = SinOsc.ar(MouseX.kr(1, 100));
	SinOsc.ar(300 * x + 800, 0, 0.1)
	+
	PinkNoise.ar(0.1 * x + 0.1)
}.play;

// eine Schleife über eine Liste: erzeuge eine Collection mit den Produkten aus Indizes und den jeweiligen Werten der Liste
[1, 2, 5, 10, -3].collect { |item, i| item * i }

// eine Funktion zur Berechnung der Fakultaet
f = { |x| if(x == 0) { 1 } { f.(x-1) * x } }

// «Pan Sonic emulation - Katodivaihe - lahetys» - Miguel Negrão
(
{
	var a, b, c, d, n, e, f,  out;

	a = Impulse.ar(8)*1.5;

	b = WhiteNoise.ar * Env([1.0,1.0,0.0],[0.01,0.01],\step).ar(0, Impulse.ar(1 )) ;
	b = FreeVerb.ar(b, 0.5, 0.4)*2.5;

	c = SinOsc.ar(40) * Env.perc(0.01,0.2).ar(0, TDuty.ar(Dseq([1/4,1/2,1/8,1/8],inf)));
	5.do{ c = (c.distort + c)*0.75};
	c = c * 1.5;

	d = LPF.ar(Saw.ar([20,47]).sum , XLine.ar(4000,200,0.5)) * Env.perc.ar(0, Impulse.ar(1/16)) * 0.5;
	d = (GVerb.ar( d , roomsize:10, revtime:6) * 200).clip(-1.0,1.0) * 0.3;

	n = 12;
	e = ( Saw.ar( 40*(1..n) * ({ LFNoise1.ar(0.1).range(1,1.01) } ! n) ) *
		({ LFNoise1.ar(0.1).range(0.0,1.0) }!n)).sum * 10;
	e = CombC.ar(e, 0.1, 0.1, 4) + e;
	e = e.tanh * 0.3 * SinOsc.ar(0.05).range(0.5,1.0);
	e = e.dup;
	e = e * SinOsc.ar(0.03).range(0.2,1.0) * 0.5;

	f = Blip.ar(100) * Blip.ar(100) * Env([0.0,0.0,1.0],[8,8],[\step,\linear,\step])
	.ar(0, Impulse.ar(1/16)) * 2 ;

	out = ((a + b + c + f) ! 2) + d + e;
	out = out * 0.2

}.play
)

Viele weitere Beispiele sind auf den Wiki-Seiten zu finden.[4]

Unterstützte Betriebssysteme

SC läuft unter GNU/Linux, macOS und Windows. Die GNU/Linux-Version kann mit GNU Emacs benutzt werden.

SC ist auch auf der Linux-Live-CD pure:dyne vorinstalliert.

Literatur

  • Scott Wilson, David Cottle, Nick Collins: The SuperCollider Book. MIT Press Cambridge/London 2011. ISBN 978-0-262-23269-2

Einzelnachweise

  1. Release 3.14.1. 24. November 2025 (abgerufen am 24. November 2025).
  2. Ports: index of /head/audio/supercollider. (abgerufen am 29. Juni 2019).
  3. a b c SuperCollider Download. (abgerufen am 29. Juni 2019).
  4. https://swiki.hfbk-hamburg.de/MusicTechnology/6

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.