采用Android Media Player的DSP(数字声音处理)

时间:2016-05-05 08:54:27

标签: android audio media-player android-mediaplayer

我有一个应用程序,可以从服务器播放音乐(mp3),创建播放列表等。

问题在于某些歌曲的声音/音量/分贝比其他歌曲更高或更低......因此我正在寻找一种在播放音乐时将DSP(数字声音处理)应用到我的应用程序中的方法。我需要一个声压缩器,如果超过阈值,它会降低db输出,如果低于某个阈值,则需要增加db输出。

有谁知道如何做到这一点???我在Google Play上找到了一些DSP应用程序,所以有可能但是如何实现呢?

我找到了一个名为“Automatic Gain Control”的可能解决方案,它实际上应该这样做,但是当我读它时,它意味着录制时的INPUT声音而不是OUTPUT,就像从服务器播放歌曲一样!

任何想法,建议,例子?

由于

1 个答案:

答案 0 :(得分:0)

从Android KitKat开始,内置LoudnessEnhancer效果。它会压缩声音,否则会以指定的增益设置进行剪辑。请参阅the docs,此处为an example

您正在寻找的解决方案可能称为"Replay Gain",它使用嵌入到mp3文件中的标签来匹配生成的声级。因此,您的播放器可以降低比所需声音更大的音轨的增益,并增加静音音轨的增益。使用LoudnessEnhancer,您不应该遇到剪辑。因此,您实际上并不需要自己实现任何DSP代码。