gpt4 book ai didi

android - 在Android中更改声音文件的频率

转载 作者:行者123 更新时间:2023-12-03 00:02:35 31 4
gpt4 key购买 nike

我尝试更改单个声音文件的频率。我设法在Android中使用SoundPool做到了这一点。但是结果听起来真的很糟糕。
因此,我迈出了傅立叶变换-但我不确定这是否是我想要的。

我想加载一个文件,并在每次播放该文件时更改该文件的频率。所以我可以用一种音调创作旋律。 android / java有可能吗?

这是我设法做到的方式。 “不好”的意思是听起来不合时宜。

如果要播放文件中音符的下一个频率,则必须将其乘以2 ^(1/12)。但是由于它只是一个浮点数,我想它不够精确,无法获得下一个音符的“真实”频率。

是否有“简单”的方法来实现该目标?

最佳答案

使用SoundPool的最简单方法是调整对play()的调用的速率:

play(aSoundId, leftVolume, rightVolume, 1, 0, rate);

速率可以从.5f到2.0f不等,尽管极端情况通常听起来并不好,所以您可能需要设置一个可接受的范围(例如.4f)和最小速率(例如.85f)。然后,您可以使用一个变量来控制您在该范围内的位置(例如,介于.0f和1.0f之间的float):
float rate = RATE_RANGE * pitch + MINIMUM_RATE;

关于android - 在Android中更改声音文件的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3737636/

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