NDI 音频浮点超过 1 就削波吗:怎样核对参考电平换算

2026-10-24

NDI音频中的浮点绝对值超过1,不能单凭这一点判为削波。NDI的参考电平与常见归一化PCM不同,必须先注明采用SMPTE还是EBU参考,再计算到下游格式的增益。未经换算就硬截断到正负1,可能主动破坏本来有效的峰值。

先固定输入与适用条件

这里比较的是同一波形的幅度比例,不是节目综合响度,也不是声卡旋钮刻度。例子采用官方表中的SMPTE参考,把峰值1对应到负20dBFS的参考关系。实际设备的模拟输出电平、数字满刻度、音频驱动和路由都要另行确认;手机录音不能反证SDK浮点含义。

本篇按NDI官方滚动SDK文档解释视频v2或音频v3帧描述。文档核对日期为2026-10-24;这不是本地已安装NDI运行库的版本声明,设备与第三方软件需另录版本。

按字段与边界执行

  1. 先保存原始浮点峰值、是否出现NaN或无穷、接收帧格式及参考体系。遇到异常数值要独立报错,不能一律解释为过载。

  2. 用二十倍常用对数比较幅度倍率。以峰值1为相对零点,0.1为负20分贝、10为正20分贝;这些相对值与节目响度单位不能互换。

  3. 在明确的SMPTE参考下,把相对值加到负20dBFS参考点。随后核对转换到整型PCM时所需的缩放、饱和及舍入规则。

  4. 用生成的三个合成幅度先查转换链,保留转换前后峰值。只有找到实际不可表达范围或平顶证据,才把具体阶段标为削波。

用具体样例核对结果

本例三行输入为0.1、1、10,计算出的相对幅度分别为负20、0、正20分贝;按所选参考,数字参考位置是负40、负20、0dBFS。脚本故意不把这些数值写成测得的dBu输出,也不生成真实音频。这样可以检查“先按1硬剪掉再缩放”的错误流程,而不混入扬声器或房间影响。

这张计算表只证明单位与选择的参考点一致。若应用明确采用另一参考体系,必须重新计算,不能沿用本表结论。若现场测得声音小,应先检查桥接增益和下游电平约定,不要把所有样本乘十后直接投入播放;满刻度余量及限制器行为还没有在本例中验证。零幅度应记录为负无穷对应的静音边界,而不是对数异常。

下载与复现

analyze.py、input.json、result.json。

input.json明确记录参考点和峰值,analyze.py计算每行相对分贝与参考位置。交付时应让音频软件工程师确认转换约定,再由实际音响链测量电平;该结果不能替代上一批对整段解说的响度报告。

把输入与脚本保存到同一个本地目录后执行 python analyze.py,脚本只读取输入、计算并重写同目录的结果文件。先保留原始附件副本,再将自己的脱敏输入另存为新版本,记录输入摘要与执行日期;不要把合成字段覆盖成看似真实的现场日志。

已用 Python 3.12.4 实际运行附件算法并检查断言。结果来自同目录合成输入;没有接入真实NDI源、控制器、灯具、接收卡或LED屏,不能据此填写现场验收通过。

对接下一步与一级来源

基础背景可看展厅解说声忽大忽小,怎样用同一口径比较音频响度。相关流程收在多媒体播放专题;需要项目对接时,带上本文输入及结果向SoftPlayer核对实际能力。

一级来源核对日期:2026-10-24。原始协议规则、本文原创运算和目标系统行为应分别留证;附件计算正确,不等于设备已经按该参数工作。

需要展厅软硬件方案或定制开发?

加微信,把这一页发到你手机上

扫码加站长企业微信,会自动把这一页的链接发给你。问软件授权、报价,或者现场遇到问题,也可以直接聊。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。