感谢关注耳机俱乐部网站,注册后有更多权限。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 ultraoxox 于 2024-3-2 10:32 编辑
近期,我有幸与一位资深 HAPI 玩家深入交流,从中获得了许多宝贵的经验,带给我很多优化当前系统的思路。但第三四季度工作忙疯了,还有大量项目上线,我只能利用周末的闲暇时间逐步推进改造工作。最近这一改造终于大功告成,实乃可喜之事。 本次改造的核心在于实现核桥的拆分和 Summing 功能的加入,主要涵盖以下四个方面: a. NUC 作为 Bridge 的引入 我原先直接使用 MBP 通过 Sonnet 网卡连接 HAPI,虽然稳定性良好,但存在以下问题: - - MBP 同时也是我的工作环境,有时候还要那本地炼丹,因此不适宜作为音频播放的数字源。
- - Mac 的 CoreAudio 仅支持 DoP 输出 DSD。
- - Merging 的 Pyramix 仅支持 Windows 系统,我推测他们对 Windows 的支持更为完善。
- - Merging 对 Mac 新系统的支持速度较慢,我想升级sonoma。
鉴于这些问题,我放弃了直连 Mac 方案。更优的解决方案是使用一台专门的多媒体播放机器,并能被 Mac 控制。综上,我选择了核桥分离方案。系统拓扑调整为 NUC、Mac 和 HAPI 同时接入一个交换机,NUC 通过外接 Sonnet 网卡连接,Mac 和 HAPI 的 IP 地址配置在 Sonnet 网卡的子网内,形成一个独立的音频局域网。NUC 和 Mac 通过 Wi-Fi 网卡连接外网,使用另一个子网。 这样改造的好处是,日常听歌时 HAPI 可连接 NUC 的 ASIO 输出,观看视频时可直接切换至 Mac 的 Core Audio 输出。同时,一台 Mac 可以直接配置 Ravenna 网络,还能通过 Windows Remote 控制 NUC。NUC 可以放置一旁,保持开机状态,实现简洁高效的操作。并且音频所在的子网和家庭网络隔离开来,避免可能的网络风暴问题。 b. NUC 的系统选择 最初考虑使用 Ubuntu 或 Linux 系统,但 Merging 的 Linux 驱动存在一些问题,报错信息不完善难以调试。因此,我最终选择了 Merging 更为全面支持的 Windows 系统。在 Windows 下,MAD 的使用体验非常友好,优于 Mac 的 VAD,且 Aneman 不会像在 Mac 上那样频繁闪退。
c. 软件迁移:Roon Core + Roon Server + HQPlayer 我原本的播放软件是Audirvana,是一款产品设计和音质都很优秀的软件。但由于 Audirvana 原生不支持核桥分离,需要在桥上另外安装一个 Upnp renderer才能实现,目前似乎没有非常合适的Upnp renderer。我在黑五打折期间趁机将其迁移到 Roon + HQPlayer 组合。Mac 作为 Roon Core,NUC 作为 Roon Server,配合 NUC 的 HQPlayer 向 Hapi 输出。
d. 八通道 Summing 八通道版的 Nadac 支持将八通道 Summing 成两通道输出,从而提升动态范围。HAPI要实现此功能,需要使用专门的 Summing 设备,如 Neve 的 5057 Orbit、Dangerous 的 Bus-XT 或 Burl 的 B32,它们都支持至少 16 通道 Summing 成两通道。 我尝试使用 Satori 进行八声道 Summing,但效果不理想,声音变得模糊。对于 HiFi 玩家来说,Summing 应该是一个尽可能不染色的过程,而录音棚 summing 的主要卖点是提供染色,这一点上存在矛盾。有玩家尝试 Dangerous 的 summing 反馈效果很好,大家可以尝试。此外国内一位 HAPI 玩家开发了一款简洁有效的 Summing 模块,我买来用了一段时间,它能在保持声音细节的同时增强声音密度和动态,非常值得尝试,在闲鱼上就可以搜索到。 需要注意的是,二代 HAPI 可以直接将 DA8P 的多通道同时监听一个source,但一代 HAPI 不支持(和merging确认过是硬件问题,二代采用ZMAN针对双声道优化过。实测下来一代 HAPI 最多支持两通道同时监听一个source,剩下的通道是杂音,报错"Ethernet input: Queue mux error")。
但还是有解决方案的,我们可以转换思路从 Source 的通道映射动手,让 ASIO3, ASIO5, ASIO7 = ASIO1,CoreAudio 同理。以下是一些有效或可能有效的实现方案: Mac 实现: - 音频劫持: 使用 Hijack4 等软件复制、配置 Source 和通道,实现通道映射修改。适合播放 PCM 音频,但 DSD 播放时可能出现爆音和卡顿。
-
- 更改 CoreAudio 的 Channel Mapping: 通过调用 CoreAudio API 或使用 AudioToolbox 等库实现自定义配置。这个方法按coreaudio文档上的说法似乎是可行的,objective c或者swift都能够实现。但我自己用chatgpt简单写了段swift,发现两声道配置能够跑通,但多声道配置实现似乎有bug,没有报错但也没有声音。有技术栈是swift的朋友可以试试看。
Windows 实现: - HQPlayer Matrix-->Pipeline setup: 在 HQPlayer 的矩阵中直接配置通道映射,如图配置即可,效果非常稳定。Mac 上的 HQPlayer 也可尝试,但我的环境里配置后无声音,原因未知。
遇到的软件问题及解决方案 在构建网络时遇到的问题及解决方案如下: - - HAPI 爆音问题:排查发现是交换机和网卡问题。我将交换机更换为 Cisco 的 SG300-10p(已停产,价格亲民)并禁用 NUC 的原生网卡,使用外接的 Sonnet 网卡,问题得以解决。
- - Ubuntu 安装 Ravenna 的 OpenSSL 库和其他依赖问题:建议使用 Ubuntu 16 而非 Ubuntu 22,避免潜在的环境问题。
- - Roon 无法在 localhost 找到 HQPlayer:由于 NUC 上有两个网卡,建议直接指定 Sonnet 网卡(或其他有线网卡)的 IP 地址。
### 更新:关于网络和交换机设置问题
关于hapi的网络设置,其实官方早就给出推荐答案了。
大致总结一下,有以下要点:
1. ravenna网络必须是和家庭网络独立开来的以确保稳定表现。可以使用一个交换机只连接ravenna设备,也可以使用vlan。
2. 使用三层交换机。
3. 电脑网卡按照推荐设置进行配置,关掉一切节能选项。
其中对于一般家用条件比较麻烦的是ravenna使用独立的网络。当大家使用流媒体的时候不连接外网是无法正常播放的,使用nas播放本地音乐可以规避。我家比较麻烦,nas在地下室连接主交换机,还负责其他的文件服务,无法直接接入独立的网络,必须想办法实现播放音乐的电脑即在外网也在ravenna独立的局域网内。
具体实现方法如下:
1. 交换机配置vlan:其中vlan0包含wan口连接外网,电脑、wifi ap等等通常设备连接在vlan0。所有的ravenna设备连接vlan1,并设置动态ip或者自动ip。
2. 电脑网卡1连接vlan0,实现外网连接。roon如果连接hqplayer的话ip地址使用网卡1的ip。
3. 电脑网卡2连接vlan1,作为ravenna设备。
其中交换机的vlan配置可以直接从merging官方文档获取。
具体请见文档原文:
1. Ravenna common isuues and recommendations:
https://merging.atlassian.net/wi ... and+recommendations
2. Cisco SG300-10 SG300-20 Auto-configuration
https://merging.atlassian.net/wi ... +Auto-configuration
如果使用的是merging推荐的几款交换机(例如上面的思科sg300-10),可以根据网络情况选择配置merging调整好的配置文件直接载入。
|