Jack中的“ 32位浮点单声道音频”

问题描述

| 我在玩Jack时,发现认音频类型type0ѭ设置为“ 32位浮点单声道音频”。 我有点困惑:IEEE定义了从3.4E–38到3.4E + 38的32位C浮点范围,而我想知道
jack_default_audio_sample_t
可以保持的最大和最小“失真”幅度是多少音频类型。例如,如果某些DSP算法为我提供了[0,1]范围内的样本,如何正确在它们与杰克格式之间进行转换?     

解决方法

        在浮点中执行信号处理操作,然后将结果缩放并转换为16位或24位整数,然后再将其发送到ADC是很常见的。例如,在浮点中实现IIR滤波器意味着您可以降低对系数量化的敏感性。或者,如果您正在执行FFT,则可以通过浮点计算获得更大的动态范围。 对于16位编解码器,通常的转换方法是:当数据来自ADC时为
x_float = x_int * (1.0/SHRT_MAX)
,而发送至DAC时为ѭ3do。对于24位编解码器,您需要定义
ADC_MAX = (1 << 24) - 1
。 在使用JACK的情况下,我想框架会为您完成此转换,因此您应该看到+/- 1范围内的浮点值,并将其反馈给相同范围内的值。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...