如何在安卓系统中改变.wav文件的音调?

3
有人能告诉我如何在Android中更改波形文件的音调吗?

3
“Sound Pool”允许您更改播放速率,但不幸的是似乎无法在“Media Player”中实现。如果您确实需要有关Java中音频处理方面的建议,可以将Java、DSP和音频标签添加到您的问题中。 - James
声音池只允许在音频播放时更改播放速率...它对于录制的文件是无效的。 - Sreekanth Karumanaghat
改变播放速率会改变音调,但也会影响播放速度。因此,您应该考虑使用@Phonon提供的算法之一,可以在不改变速度的情况下改变音调。 - Chris623
1个回答

0

Android没有内置这样的功能,而且这个过程一点也不简单。如果你想尝试自己编写代码,我建议你查看一些算法,比如PSOLA、WSOLA和相位伏特器用于音高变化。Udo Zölzer的书DAFX详细讨论了其中许多内容,大部分都相当简单明了。我认为相位伏特器的工作速度最快,但需要更多的DSP和数学知识来理解。PSOLA可能是数学上最简单的。我个人更喜欢WSOLA和Enhanced WSOLA(EWSOLA),但这些需要相当多的处理能力。

对于相关技术(如果您使用WSOLA),我建议在频域中进行(Google基于FFT的相关)。这样会更快。

如果你对大部分内容感到困惑,你可能需要重新考虑是否要做这件事,但我绝不会劝阻你。=)


你能分享一些关于相位变换器Java的资源吗? - Rohit gupta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接