问题
大屏中控的声音曲线测试反馈不够线性。
将设备音量调到30%和60%,对设备说“alexa what is the weather”,设备60%的音量也很小。
分析
声音曲线相关配置文件:audio_policy_volumes_drc.xml,此文件一般在ROM源码的device目录下,我们使用的瑞芯微RK3566平台的配置文件在device/rockchip/common/audio_policy_volumes_drc.xml路径下。audio_policy_volumes_drc.xml被被audio_policy_configuration.xml引用。audio_policy_configuration.xml文件在启动时被音频服务audioServer解析。
此次我们调整了在设备类型为喇叭的输出设备上播放音乐的时候的音量曲线。调整前后的差别如下:
10寸当前曲线
10寸调整后曲线
相关技术
audio_policy_volumes_drc.xml 是一个针对 Android 操作系统的特定配置文件。其中存储了有关音频策略、音量以及动态范围控制 (dynamic range control, DRC) 的一系列设置。
这个文件允许开发者或制造商自定义设备上音频的行为,包括但不限于以下几方面:
1 定义在不同音频流和不同设备上的默认音量。
2 控制音频流的最大和最小值。
3 在特定情况下覆盖音量调整的规则和行为。
4 配置音频流的动态范围控制,优化音质,防止失真。
这里,<volume>定义了音量曲线,而<point>元素则定义了对应的音频输出级别。<point>元素以对数坐标系的形式设定,其中X轴方向上的以分贝(dB)为单位的数值都会被映射到0至100的线性音量空间。
以下是每个<point>的解析:
<point>1,-4650</point>:键为1(最低音量)时,音量为-46.5dB(分贝)。
<point>7,-2400</point>:键为7时,音量为-24dB。
<point>33,-1600</point>:键为33时,音量为-16dB。
<point>66,-800</point>:键为66时,音量为-8dB。
<point>100,0</point>:键为100(最高音量)时,音量为0dB。
这就意味着,音量从最低到最高期间,音频流的音量将会按照这些设定按分贝数相应增大。需要注意的是,这些值只是相对值,实际音量根据硬件和环境有所不同。