Mir ist keine Python-Implementierung von SuperCollider bekannt, aber es ist sehr einfach zwischen SC und Python mit OpenSoundControl zu kommunizieren. Hier ist ein Beispielcode, von einem tutorial entlang dieser Zeilen schrieb ich für eine Klasse im Art Center, die zeigt, wie Steuerinformationen von Python an SC gesendet werden (hier als Audio-Engine verwendet). Zunächst wird der SC Teil:
s.boot;
(
SynthDef(\sin, { | amp = 0.01, freq = 333, trig = 1 |
var env, sig;
env = EnvGen.kr(Env.asr(0.001, 0.9, 0.001), trig, doneAction: 0);
sig = LFTri.ar([ freq, freq * 0.999 ], 0.0, amp) * env;
Out.ar([ 0 ], sig * 0.6);
}).add;
h = Synth(\sin, [ \amp, 0.4 ]);
x = OSCFunc({ | msg, time, addr, port |
var pyFreq;
pyFreq = msg[1].asFloat;
("freq is " + pyFreq).postln;
h.set(\freq, pyFreq);
}, '/print');
)
Nun ist der Python Teil:
import OSC
import time, random
client = OSC.OSCClient()
client.connect(('127.0.0.1', 57120))
msg = OSC.OSCMessage()
msg.setAddress("/print")
msg.append(500)
client.send(msg)
Also, würden Sie müssen noch einige Codes in SC schreiben (die Art von Audio zu erzeugen, sowie stelle die Verbindung zwischen Python und SC her, aber du könntest alles andere in Python machen. Auf dem Link zur Tutorial-Seite finden Sie eine ausführlichere Erklärung (sowie eine grundlegende Erklärung zur Arbeit mit SC).
Kennen Sie schon [SC 0.3.1] (https://pypi.python.org/pypi/SC/0.3 .1)? – halex
Googling für 'Python Supercollider' liefert auch einige andere interessante Ergebnisse. – Aya
Wird beide nach oben schauen. Ich habe ein bisschen Probleme beim Importieren des Sc 0.3.1 Pakets, ich benutze Mac OS 10.8. wird die Frage aktualisieren, wenn eine Lösung auf – Itzik984