gpt4 book ai didi

python - 在 python 中使用 super 对撞机

转载 作者:太空狗 更新时间:2023-10-29 17:46:04 25 4
gpt4 key购买 nike

我想做一些实时声音处理,我听说了 supercollider

它看起来不错,但我想坚持使用 python,因为“正常”编程是个问题。

有什么方法可以将 python 脚本作为模块加载到 supercollider 或 oposite?

意思是将一个库导入我的 python 代码并使用 supercollider 功能?

我没有在网上找到太多关于它的信息,所以任何帮助都会很棒。

最佳答案

我不知道 SuperCollider 的 python 实现,但是使用 OpenSoundControl 在 SC 和 Python 之间进行通信非常容易.下面是一些示例代码,展示了如何将控制信息从 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 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)


因此,您仍然需要在 SC 中编写一些代码(以生成音频类型,以及在 Python 和 SC 之间建立连接),但您可以在 Python 中完成其他所有操作。请参阅教程页面的链接以获得更深入的解释(以及使用 SC 的基本解释)。

关于python - 在 python 中使用 super 对撞机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16086667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com