我正在进行一个项目,其中我有一个Pd扩展修补程序(使用大量外部环境,所以我在Pd中运行/修补它,没有额外的配置),运行交互式声音艺术安装。作曲家/艺术家现在希望这可以在一个多用户互动网站上在线运行。我的想法是:
3号是我被困的地方。我无法将PureData中的音频转换成可以流到web浏览器的内容。昨天我在使用oggcast~ object,它使用Icecast2 (http://icecast.org),但是它不能连接。我正在考虑将它发送到websocket或通过node.js通过socket.io或某种WebRTC库发送,但我仍然需要将其从PureData中提取出来。
我找到了一个解决方案,如果我有一个声卡,通过路由音频可能有效。但是没有声卡,因为它只是一个网络服务器。
它确实需要服务器端,因为有很多音频文件使用,有些是非常长的。此外,如果多个人能够相互交流并听到彼此的互动,那将是一个巨大的好处。因此,不幸的是,WebPd和任何其他浏览器端PD到javascript解决方案都已失效。
有什么想法吗?
发布于 2016-07-26 18:39:20
好吧,所以我有足够的时间去研究,测试和做事情。以下是我的发现:
libpd和python
Python是一种很好的服务器端语言,支持websockets和其他通信协议。它还使用libpd --纯数据库/包装器,可用于许多编程语言,包括python。缺点是它只适用于pd香草对象。虽然我听说你可以增加外部支持,但这不是一件容易的事情。我现在正沿着这条路找到解决方案..。
WebPD
这不是服务器端的解决方案,所以您不能从社区/协作体验中获益,在这里,每个人都可以同时听到。
Javascript库允许您加载puredata修补程序并通过Web运行它。工作正常,但支持的对象数量非常有限!虽然我只使用标准的pd普通对象就能使这个补丁正常工作,但是我仍然不能让这个补丁与webpd一起工作。
冰淇淋流
这是很好的工作,除了有很多的延迟。6-12秒!最好的,我们可以减少到6s在以下的icecast.xml设置。其馀部分只能在mp3cast~ pd外部通过更改源代码和重新编译来减少,但是可能会出现缓冲/流问题.如果有人想尝试这个--请告诉我!:)
有一个名为Mp3铸~的纯数据对象(包括在pd扩展中)。
发布于 2016-11-25 23:39:34
我建议以下技巧:
1.使用snd aloop生成虚拟alsa设备。
$ sudo modprobe snd-aloop
$ # (assuming you already have two soundcards: hw:0 and hw:1)2.准备回路装置(可选)
$ aplay -D hw:2,0,0 Testsong.wav这将将循环设备切换到某些设置,如Signed 16 bit Little Endian, Rate: 44100 Hz, stereo。这有助于警方不使用黄毛费率。
3.让pd在回路装置上播放。
现在让pd输出到hw2。
4.使用ffserver从循环设备中进行流。
第二步是使用ffserver (或任何其他流服务器),并指示它使用alsa设备hw:2,1,0。
https://stackoverflow.com/questions/38377551
复制相似问题