gpt4 book ai didi

java - 以给定的分贝生成音轨声音

转载 作者:太空宇宙 更新时间:2023-11-04 09:49:32 25 4
gpt4 key购买 nike

我正在使用音轨生成给定频率和分贝dB的蜂鸣声。音轨中有一种方法

setStereoVolume()


得到左右音量。但是在这个库中,音量是由幅度设定的,范围是0 -1,其中0是最小值,1是最大值,但是我的用户却给出了dB,所以我需要将dB转换为幅度。搜索后,我发现该公式为 amp = 10^(dB/20)。问题在于,对于该公式,仅-ve dB有效;对于+ ve dB,公式返回大于1的值,这意味着最大值。

audioTrack.setStereoVolume((float) Math.pow(10,volumeL_val/20),(float) Math.pow(10,volumeR_val/20));


如何将+ ve dB转换为Android可接受的0-1范围内的幅度。

最佳答案

我的建议是将一个常数值乘以整个公式,这将使输出在0-1范围内

放大器= 10 ^(dB / 20)* const
其中const应该根据频率而变化

关于java - 以给定的分贝生成音轨声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54958787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com