java - JAVA 中所有 MP3 文件的音量相同

标签 java playback audio-player

我正在编写一个基于 Java 的音乐播放器,它也应该自动将所有 mp3 的音量级别更改为相同。

例如,有些 mp3 的音量比其他的大一点,因此我想要一个可以自动将音量级别调整到相同的播放器。所以太安静的歌曲应该大声一点,太大声的歌曲应该更安静。最后它们应该处于同一水平,这样我就不必更改设备音量。

我在互联网上搜索过,但没有找到任何解决方案如何在 JAVA 中执行此操作。

最佳答案

您要查找的内容名为“ReplayGain”,指定为here .

采用现代母带处理的曲调(参见“loundness war”)的音量将降低,而旧曲调的音量将调高,以便整体感知响度保持不变。

由于要分析整个音频数据以确定要应用的增益值,因此通常只做一次,然后作为元数据存储(前提是音频格式支持它,至少 MP3、FLAC、OGG 是这种情况和 AAC)。

例如,它在免费音频播放器 Foobar2000 中实现,它在音轨方面和专辑方面都非常有效。事实上,在某些专辑中,当作为一个整体播放时,对所有轨道应用相同的增益是一种很好的做法。

开源 DJ 软件 Mixxx提供此功能,因此您应该能够在他们的存储库中找到一些与 ReplayGain 相关的代码。

在某些信号能量低但峰值高的情况下,通过抑制 ReplainGain 效果或在音频链的末端添加限幅器来小心防止削波。

关于java - JAVA 中所有 MP3 文件的音量相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34643552/

相关文章:

java - LDAP AD,获取密码

java - 几何形状的程序化分析

java - 如何使用 Hibernate 3.3.2GA 将 TIMESTAMP WITH TIME ZONE 映射到 Java 数据类型?

playback - 在DirectSound中从头开始创建声音

swift - 在 Swift 中,如何在用户使用我的应用程序时让音乐继续播放? (快速用户界面)

ios - didSelectRowAt indexPath 播放音频

java - 从字符串中拆分地理坐标的正则表达式

video - 你能控制在 Quartz Composer 中播放视频剪辑的速度吗?

javascript - 无闪光连续音频播放器 - 这可能吗?

audio - 具有同步播放功能的 mp3 网站播放器(非流式传输)