Audio 开放式变桨

Audio 开放式变桨,audio,volume,openal,pitch,Audio,Volume,Openal,Pitch,谁能告诉我为什么在openal中,当我把音高调高时,音量会变低?音高越高,音量越小 alSourcef(声源,AL_音高,1.2f); alSourcef(源,AL_增益,1.0f) 使用此设置时,音量仍然非常低。有没有办法欺骗它使增益超过1?也许这和距离有关 仅供参考,声源是从AVrecorder录制的语音,因此我无法将声源音量设置得更高。Afaik振幅随音调变化而变化是不正常的。当螺距设置为高于原始值时,当乘法器不完整时,openal使用某种插值通过乘法器(afaik)加速采样 在一些罕见的

谁能告诉我为什么在openal中,当我把音高调高时,音量会变低?音高越高,音量越小

alSourcef(声源,AL_音高,1.2f); alSourcef(源,AL_增益,1.0f)

使用此设置时,音量仍然非常低。有没有办法欺骗它使增益超过1?也许这和距离有关


仅供参考,声源是从AVrecorder录制的语音,因此我无法将声源音量设置得更高。

Afaik振幅随音调变化而变化是不正常的。当螺距设置为高于原始值时,当乘法器不完整时,openal使用某种插值通过乘法器(afaik)加速采样

在一些罕见的情况下,振幅可能会发生变化,但对于具有大量频率内容的较长样本(大多数自然声音往往如此)可能不会发生这种变化

我们对振幅的感知程度取决于音调,请参见
也许这就解释了你的问题

作为解决方法,您可以降低正常音调声音的增益,并使用更高的增益来提高音调。

或者在附加/传递到缓冲区之前,将源数据乘以乘数。

我假设您谈论的是感知的响度与观察到的某种振幅变化。。。?你在玩什么样的样品?您可能正在降低频率或超出硬件渲染它们的能力(或您的耳朵感知它们…)alSourcef(源,音高,1.2f);alSourcef(源,AL_增益,1.0f);只是音调上的一点点变化……人类耳朵会感觉到更高频率的持续声音比相同振幅的低频声音“更安静”。高频短音(不到四分之一秒)会被人耳感知为比相同振幅的低频声音“更响亮”。啊,我喜欢源数据的倍增思想。我会调查的。谢谢Emile:)谢谢大家的帮助,我发现将增益方式设置为大于1,例如5或100解决了低音量问题。:)