Wes*_*des 20 python python-module osc
开放声音控制(OSC)是用于计算机,声音合成器和其他多媒体设备之间通信的协议,其针对现代网络技术进行了优化.将OSC与MAX/MSP一起使用是特别常见的 - 这实际上就是我正在做的事情,使用OSC和Python与MAX中的另一个子系统进行通信.
有一堆支持OSC的python模块.大.他们都声称自己简单,实用,完美.面临主观领域的风险,您的经验建议用于以下模块的用例是什么?
我想一个简单的实现对我来说是最好的,因为我对OSC只有一点了解.我正在使用Python 2.7.
ptr*_*ptr 10
我在OSX上使用了pyOSC并取得了巨大的成功.代码没有太大的发展,但这很可能是由于它的稳定性和简单性.我简要地尝试了txosc,它可能值得进一步测试.
我对pyosc的使用是有限的,但效果很好.例如.
import OSC
c = OSC.OSCClient()
c.connect(('127.0.0.1', 57120)) # connect to SuperCollider
oscmsg = OSC.OSCMessage()
oscmsg.setAddress("/startup")
oscmsg.append('HELLO')
c.send(oscmsg)
Run Code Online (Sandbox Code Playgroud)
小智 8
对于每次遇到这个stackoverflow问题的人来说,每次他们都在寻找python OSC实现,并且需要为Python 3实现一个有效的OSC实现 - 我可以确认osc4py3运行良好且有详细记录.
我对2018年1月22日的调查结果如下:
pyOSC:似乎没有维护,我找不到一个有效的Python3版本,我发现声称为python3更新的版本的一些链接被破坏了.
aiosc:在测试中工作(并且看起来像一个很酷的实现)但由于某种原因,在我需要的带宽几秒钟之后,它失败了"太多打开文件"错误.
osc4py3:安装了pip,运行良好,只要我确保在每条消息之后调用osc_process(),就会给我零问题,每秒大约有一千条消息.
可能还有另一个OSC版本,特别是为py3k设计的,并且更多的人正在使用,但由于该领域仍然有点不透明,我觉得这可能是最适合分享它的地方.我希望它能节省一些时间.
这不是问题所针对的问题,但我认为这是值得一提的:各种Python OSC模块的一个令人烦恼的事情是,大多数使用Python 2.x或Python 3.x 但不同时使用Python ,表示您将来可能需要更改代码库并重写部分应用程序.
我发现的唯一一个目标是Python 2.x和3.x的是Pyliblo,它实际上是C库Liblo的包装器.Liblo已经过专门的测试,可以与Pd和SuperCollider一起使用(参见主页末尾的注释),这是我在使用这些库时最关心的... Liblo的一个缺点是工作起来有点困难在MS Windows上,因为它仅支持POSIX线程(pthreads)而不支持本机win32线程API,因此您需要一个仿真库,如http://liblo.sourceforge.net/README-platforms.html中所述.但您也可以在Windows上禁用线程编译它.