您会为服务器端合成器推荐什么设置?
What setup would you recommend for a serverside Synthesizer?
简而言之,我想创建一个网站,它根据客户端在类似合成器的界面中提供的输入输出音频流。
为了让每个访问该站点的人都拥有完全相同的音频流和界面状态,我希望所有工作都由服务器完成,只让客户端管理输入。
虽然我不是编程新手,但我对实现它的可能性感到有点不知所措。您能否为此推荐一个实用的设置,例如哪些库(编程语言可能与此相关)使用服务器端、客户端以及哪种技术是它们之间通信的最有效方式?
我知道,这不是最快回答的问题,但非常感谢您的帮助。
PS:这个项目主要是为了对我进行教育,而不是任何商业用途或任何东西
"Synthesizer" 非常模糊...不清楚您期望的功能和延迟时间。
无论如何,我可能会从 Node.js 和网络音频 API 的实现开始。 https://github.com/sebpiq/node-web-audio-api 不幸的是,这个包还没有完全完成,但它是我所知道的最完整的包。
Liquidsoap 还有很多您可能会觉得有用的功能。
根据您的需要,另一种方法是让您的服务器应用程序使用 OSC 或 MIDI 控制专业软件合成器(甚至是真正的硬件!),然后流式传输音频。
除了@Brad 的回答,坐在网络服务器后面,您可能有一个带有商业软合成器插件的 VST 主机(实现这些插件很费力——尽管有人猜测许可是否会延长到这个应用程序)。
Juce 可能是您寻找 SoftSynth 主机的地方。
输入几乎肯定是 MIDI,但对于 MIDI 尚未为您提供控制消息的地方,您可能需要使用 SYSEX 或某些侧通道。
对于实时播放来说,往返延迟可能太大(尽管最坏情况下的延迟才是真正的问题)。
虽然不是实时的音频渲染是可能的。
简而言之,我想创建一个网站,它根据客户端在类似合成器的界面中提供的输入输出音频流。 为了让每个访问该站点的人都拥有完全相同的音频流和界面状态,我希望所有工作都由服务器完成,只让客户端管理输入。 虽然我不是编程新手,但我对实现它的可能性感到有点不知所措。您能否为此推荐一个实用的设置,例如哪些库(编程语言可能与此相关)使用服务器端、客户端以及哪种技术是它们之间通信的最有效方式? 我知道,这不是最快回答的问题,但非常感谢您的帮助。
PS:这个项目主要是为了对我进行教育,而不是任何商业用途或任何东西
"Synthesizer" 非常模糊...不清楚您期望的功能和延迟时间。
无论如何,我可能会从 Node.js 和网络音频 API 的实现开始。 https://github.com/sebpiq/node-web-audio-api 不幸的是,这个包还没有完全完成,但它是我所知道的最完整的包。
Liquidsoap 还有很多您可能会觉得有用的功能。
根据您的需要,另一种方法是让您的服务器应用程序使用 OSC 或 MIDI 控制专业软件合成器(甚至是真正的硬件!),然后流式传输音频。
除了@Brad 的回答,坐在网络服务器后面,您可能有一个带有商业软合成器插件的 VST 主机(实现这些插件很费力——尽管有人猜测许可是否会延长到这个应用程序)。
Juce 可能是您寻找 SoftSynth 主机的地方。
输入几乎肯定是 MIDI,但对于 MIDI 尚未为您提供控制消息的地方,您可能需要使用 SYSEX 或某些侧通道。
对于实时播放来说,往返延迟可能太大(尽管最坏情况下的延迟才是真正的问题)。
虽然不是实时的音频渲染是可能的。