使用QAudioInput从PulseAudio声音设备录音时,录音音量的非线性控制效果
QAudioInput的文档表明,在支持进行输入音量设置的设备上录音时,可使用setVolume方法来设置录音音量,并且其默认值会是1,也就是最大增益。
在实际运行过程中,这会导致系统的声音输入音量对应地发生变化,然而系统声音输入音量的值与QAudioInput中设置的音量值之间并不是相等的关系,而是大致上的对数关系。这可能是PulseAudio的一个特性。
QAudioInput中设置的音量,与系统实际录音音量,都换算成百分比之后,其中一些数值对应关系如下。
QAudioInput % |
PulseAudio % |
0 |
0 |
1 |
22 |
3 |
31 |
6 |
39 |
12 |
49 |
25 |
63 |
30 |
67 |
50 |
79 |
60 |
84 |
90 |
97 |
99 |
100 |
100 |
100 |
收集到更多的数据之后,绘制出的对应关系曲线如下所示。
HxLauncher: Launch Android applications by voice commands