耳机网-耳机大家坛

标题: 谈谈Roon Ready 和 Roon Bridge的区别 [打印本页]

作者: 门的耳朵    时间: 2022-6-11 09:45
标题: 谈谈Roon Ready 和 Roon Bridge的区别
本帖最后由 门的耳朵 于 2022-6-11 10:07 编辑

RoonReady 是适用于运行 Roon SDK 并完全支持 RAAT 和合作伙伴计划的一部分的消费设备的状态,它不是您可以安装的。

Roonbridge 是个安装包,使计算机和 SBC 成为 Roon 端点的软件解决方案






作者: 门的耳朵    时间: 2022-6-11 09:46
将 RAAT SDK 视为构建使用 RAAT 协议的东西的构建块。

我们使用 RAAT SDK 构建 Roon Bridge,合作伙伴使用 RAAT SDK 构建音频产品。我们还使用 RAAT SDK 在 Roon Remote 内部构建了我们的 iOS/Android 实现,对于 Windows/Mac Roon 应用程序也是如此。

在所有情况下,使用 RAAT 的底层代码都是相同的。Roon Ready 产品的好处是:

端到端体验在 Roon Labs 进行审查、迭代和认证
作为认证过程的一部分,合作伙伴需要实施某些功能,例如便利切换、待机控制、Roon 的音量控制等。RAAT SDK 具有使这成为可能的所有正确扩展点。
Roon Ready 产品通常比计算机更针对音频用例进行优化。
最重要的好处是第一个——我们竭尽全力确保 Roon Ready 产品的一致/可靠体验。除此之外,如果您将比较“简单”的 Roon Ready 产品,它只是桥接到 USB DAC,主要好处是最后一个优化的硬件。向制造商提供 SDK 可以让他们更有能力集成产品功能,以换取在发布之前获得集成认证的义务。

至于对 .NET 的担忧……在 Roon Bridge 内运行的 RAAT 端点不在 .NET 中运行——它与 Roon Ready 设备上使用的 C 代码相同。实际上,我们非常小心地防止 .NET 运行时绑定到任何与 RAAT 相关的线程,否则 .NET 垃圾收集器可能会暂停这些线程并导致音频性能问题。

.NET 代码仅用于物质享受——与 windows 上的任务栏/mac 上的菜单栏集成,并管理软件更新机制。在 .NET 中执行此操作可以让我们与主要的 Roon 应用程序共享更多代码,而不是为 Roon Bridge 提供最终不同步的一次性副本。我们注意将基于 C 的 RAAT 内容与 .NET 运行时隔离开来,这些内容是用嵌入式系统编程的思维方式编写的。

这里没有“从 Windows 移植”方面。RAAT 的相同 C 代码可在 Windows、Mac、Linux、iOS、Android 上运行,并且(据我所知)在 x86、x64、armv7a、armv8、mips 和 powerpc 上用于生产。它是非常可移植的东西,全部在一个代码库中,并且主要基于 posix 和 libuv,虽然与 Windows 兼容,但主要针对 posix 平台。

Roon 从一开始就是一个跨平台项目……它一开始并不是一个 Windows 应用程序。实际上,大部分代码都是由坐在 Mac 或 Linux 机器前的人编写的,输入 vim 和 emacs,然后使用 GNU Make 构建代码。我们使用 .NET 作为跨平台运行时,因为它对此有好处,但不像典型的 .NET 团队那样运作。

总而言之——如果你只是在网络 + 标准音频驱动机制(如 CoreAudio、ALSA、WASAPI、ASIO 等)之间进行桥接,那么完全相同的代码正在运行在 Roon Bridge + Roon Ready 端点上做同样的事情。Roon Ready 端点的好处不是访问更好或更优化的代码——Roon Ready 旨在实现与非音频相关产品功能的更紧密集成,直接集成到针对音频播放进行优化的硬件中,最重要的是获得认证确保质量实施的过程。




欢迎光临 耳机网-耳机大家坛 (http://www.erji.net/) Powered by Discuz! X3.2