简单地说,我想创建一个网站,它根据客户端在类似合成器的接口中提供的输入输出一个音频流。 这样访问该站点的所有人都将具有完全相同的音频流和接口状态,我希望服务器完成所有工作,只让客户端管理输入。 虽然我不是编程的新手,但我对实现它的可能性有点不知所措。您能否为此推荐一个实用的设置,比如哪些库(编程语言可能与此相关)以使用服务器端,客户端以及哪种技术是它们之间进行通信的最有效方式? 我知道,这不是最快的问题,但我真的很感谢你的帮助。
PS:这个项目对我来说主要是教育,而不是任何商业用途或任何东西答案 0 :(得分:2)
继@ Brad的回答,坐在网络服务器后面,你可能有一个带有商业软合成插件的VST主机(实现这些是很费力的 - 虽然任何人都猜测许可是否扩展到这个应用)。
Juce可能就是你去SoftSynth主机的地方。
输入几乎肯定是MIDI,但你可能需要使用SYSEX或某些侧通道来处理MIDI尚未提供控制信息的地方。
往返延迟可能对于实时播放来说太大(尽管这是最糟糕的延迟,这将是真正的问题)。
虽然不是实时的音频渲染是可能的。
答案 1 :(得分:1)
“Synthesizer”非常模糊......目前尚不清楚您期望的功能以及延迟时间。
无论如何,我可能会从Node.js和Web Audio API的实现开始。 https://github.com/sebpiq/node-web-audio-api不幸的是,这个包没有完全完成,但它是我所知道的最多。
Liquidsoap还具有相当多的功能,您可能会发现它们很有用。
根据您的需要,不同的方法是让您的服务器应用程序使用OSC或MIDI控制专业软合成器(甚至是真正的硬件!),然后流式传输音频。