翻译说明
中文文档是持续维护中的翻译版本,可能会略滞后于英文文档;如有技术差异,以英文版为准。
双耳与 SOFA¶
--binaural 会把 OpenJOC 的扬声器场渲染为双声道耳机输出。它采用虚拟扬声器渲染,不代表直达对象渲染或专有渲染器的听感保真度。
openjoc render-joc input.m4a \\
--binaural \\
--output headphones.wav
默认虚拟布局是 7.1.4。如果没有提供 SOFA 路径,会使用内置的离线 SADIE II D1 HRTF。指定自定义数据集时,会走受支持的本地 SOFA 流程:
openjoc render-joc input.m4a \\
--binaural \\
--binaural-sofa listener.sofa \\
--backend direct \\
--output custom-headphones.wav
SOFA 支持范围¶
加载器接受文档规定的 SimpleFreeFieldHRIR NetCDF classic CDF-1 子集。文件必须提供两个接收器、匹配的采样率,并为每个请求的非 LFE 虚拟方向提供精确覆盖或可安全插值的覆盖。HDF5/NetCDF-4、重采样、下载、写入、移动声源和任意方向覆盖均不受支持。
使用前先检查文件:
openjoc sofa inspect listener.sofa --json
direct 是数值参考后端。partitioned 使用一个固定的二次幂分区大小,并保留完整输入和 FIR 尾部。如果覆盖范围或采样率不匹配,两种后端都会拒绝继续处理。
LFE 策略¶
CLI 默认使用 exclude。如果明确希望把逻辑 LFE 声部发送到左右耳,可以使用 equal-power-dual-mono:
openjoc render-joc input.m4a \\
--binaural \\
--lfe-policy equal-power-dual-mono \\
--output headphones-with-lfe.wav
这是渲染器策略,不会推断物理低音炮,也不会修改源场景。