I want to do some real time sound processing and I heard about supercollider
and it looks great, but I want to stick to python as far as 'normal' programming is the issue.
Is there any way to load a python script as a module to supercollider or the oposite?
meaning importing a library to my python code and using the supercollider features?
I did not find much info about it in the web so any help will be great.
I am not aware of a python implementation of SuperCollider, however it is very easy to communicate between SC and Python with OpenSoundControl. Here is some sample code that shows how to send control information from Python to SC (used here as the audio engine). First the SC part:
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" );
)
Now the Python part:
import pyOSC3
import time, random
client = pyOSC3.OSCClient()
client.connect( ( '127.0.0.1', 57120 ) )
msg = pyOSC3.OSCMessage()
msg.setAddress("/print")
msg.append(500)
client.send(msg)
So, you would still need to write some code in SC (to generate the type of audio, as well as to establish the connection between Python and SC), but you could do everything else in Python. See the link to the tutorial page for a significantly more in depth explanation (as well as a basic explanation of working with SC).
FoxDot (http://foxdot.org/) may provide what you are looking for
You can also use Python-osc. ( i really like that one!) @caseyanderson is right about there not being a python implementation.
you can grab it with pip:
pip install python-osc
and import with import pythonosc
or grab from here: https://pypi.python.org/pypi/python-osc
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With