2016-05-05 20 views
1

我有一个应用程序从服务器播放音乐(MP3),创建的播放列表等DSP(数字音效处理)与Android媒体播放器

的问题是,有些歌曲的声音/音量/ db是高或低于其他...因此,我正在研究一种在播放音乐时将DSP(数字声音处理)应用到我的应用程序中的方法。我需要一个Sound Compressor,如果超出阈值,它会降低数据库输出,或者如果它低于某个阈值,则会增加数据库输出。

有没有人有一个想法如何做到这一点?我在Google Play上发现了一些DSP应用程序,因此有可能但是如何实现它?

我发现了一个名为“Automatic Gain Control”的可能的解决方案,它应该实际做到这一点,但是当我阅读它时,它是用于录制时的INPUT声音,而不是从服务器播放歌曲时的OUTPUT!

任何想法,建议,例子?

感谢

回答

0

有一个内置的LoudnessEnhancer效果从Android的奇巧开始。它会压缩声音,否则会以指定的增益设置剪辑。见the docs,这里是an example

也许您正在寻找的解决方案被称为"Replay Gain",它使用嵌入到mp3文件中的标签来匹配最终的声级。因此,您的播放器可以降低比需要的音轨更大的增益,并增加无声音轨的增益。当LoudnessEnhancer到位时,您不应该经历裁剪。因此,您实际上并不需要自己实现任何DSP代码。

+0

嗨米哈伊尔!非常感谢!根据开发者页面上的描述,它接合了正确的东西!我将尝试它并在此展示结果。 – MTurPash