2013-04-18 2 views
10

Я хочу, чтобы сделать некоторую обработку звука в режиме реального времени, и я слышал о supercolliderИспользование суперколлайдер с питоном

и это выглядит здорово, но я хочу, чтобы придерживаться Python, насколько «нормальный» программирование вопрос.

Есть ли способ загрузить скрипт python в качестве модуля для суперколлайдера или oposite?

смысл импортировать библиотеку в мой код на Python и использовать функции суперколлайдера?

Я не нашел много информации об этом в Интернете, поэтому любая помощь будет отличной.

+1

Вы уже знаете, [SC 0.3.1] (https://pypi.python.org/pypi/SC/0.3 0,1)? – halex

+1

Кроме того, поиск в googling для суперпользователя python дает некоторые другие интересные результаты. – Aya

+0

Посмотрите оба. im с небольшим количеством проблем с импортом пакета sc 0.3.1, im используя mac os 10.8. будет обновлять вопрос, если решение столкнется – Itzik984

ответ

12

Мне не известно о реализации SuperCollider на python, однако очень легко установить связь между SC и Python с помощью OpenSoundControl. Вот пример кода, от tutorial по этим строкам, которые я написал для класса в Art Center, который показывает, как отправлять управляющую информацию с Python на SC (используется здесь как звуковой движок). Сначала SC часть:

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'); 
) 


Теперь Python часть:

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) 


Итак, вы все равно должны были бы написать код в SC (для создания типа аудио, а также установить связь между Python и SC), но вы могли бы сделать все остальное в Python. См. Ссылку на учебную страницу для более подробного объяснения (а также базовое объяснение работы с SC).

+1

Большое спасибо за это! и учебник! Я нашел его, но ваша ссылка нуждается в обновлении. =) –

+0

Рад, что это было полезно, спасибо, что указали, что ссылка была сломана! – caseyanderson

0

Вы также можете использовать Python-osc. (мне это действительно нравится!) @caseyanderson прав, что не существует реализации python. вы можете захватить его с пип: pip install python-osc и импорт с import pythonosc или захватить здесь: https://pypi.python.org/pypi/python-osc

Смежные вопросы