誰能告訴我爲什麼音量變低時我在openal中提高音高?音高越高,音量越低.....openal變調
alSourcef(source,AL_PITCH,1.2f); alSourcef(source,AL_GAIN,1.0f);
使用此設置,音量仍然非常低。有沒有辦法欺騙它使增益高於1?也許這與距離有關?
僅供參考,來源是從AVrecorder記錄的聲音,所以我不能將來源音量設置得更高。
誰能告訴我爲什麼音量變低時我在openal中提高音高?音高越高,音量越低.....openal變調
alSourcef(source,AL_PITCH,1.2f); alSourcef(source,AL_GAIN,1.0f);
使用此設置,音量仍然非常低。有沒有辦法欺騙它使增益高於1?也許這與距離有關?
僅供參考,來源是從AVrecorder記錄的聲音,所以我不能將來源音量設置得更高。
Afaik振幅在音調變化的函數中會發生變化是不正常的。當音高設置得高於原始音高時,openal在乘法器不完整時使用某種內插法通過乘法器(afaik)加速採樣。
可能有一些罕見的情況下,幅度變化,但可能不是有很多的頻率內容較長的樣本(如最自然的聲音往往是)
多麼響亮,我們感覺到,幅度取決於在球場上,見equal loudness contour
也許這個效果解釋了你的問題?
作爲解決方法,您可以降低普通傾斜聲音的增益,並使用較高增益來提高傾斜聲音。
或者在附加/傳遞到緩衝區之前將源數據乘以乘數。
我假設你正在談論感知響度與某種觀察到的振幅變化......?你打什麼樣的樣品?您可能會降低頻率或超出硬件的能力來呈現它們(或您的耳朵感知它們)。 – Shog9 2010-10-11 18:40:15
alSourcef(source,AL_PITCH,1.2f); alSourcef(source,AL_GAIN,1.0f); – Xiu 2010-10-11 18:45:22
只是一點點的變化...。 – Xiu 2010-10-11 20:07:27