我正在尝试编写音乐可视化工具。我已经研究过了,sound.sampled 看起来像是一个很好的读取数据的库。但是,jdk 只能加载 .wav 文件。所以我正在寻找一个可以让我加载.mp3 的灵活插件。
我将使用的课程在这里: http ://uk.answers.yahoo.com/question/index?qid=20100125081723AAdnYzf
PS Lemme 知道您之前是否尝试过音乐可视化工具。
我正在尝试编写音乐可视化工具。我已经研究过了,sound.sampled 看起来像是一个很好的读取数据的库。但是,jdk 只能加载 .wav 文件。所以我正在寻找一个可以让我加载.mp3 的灵活插件。
我将使用的课程在这里: http ://uk.answers.yahoo.com/question/index?qid=20100125081723AAdnYzf
PS Lemme 知道您之前是否尝试过音乐可视化工具。
但是,jdk..
重要的不是 JDK,而是 JRE。
..只能加载 .wav 文件。..
它可以加载由返回的类型(的子集)AudioSystem.getAudioFileTypes()
。如果您查看AudioFileFormat.Type
Java 7 中的文档,您将看到 5 种类型的列表,但最终的检查是 JRE 返回的内容。
.. 所以我正在寻找一个灵活的插件,可以让我加载.mp3。
可以将mp3plugin.jar
JMF 添加到运行时类路径中,以向 JavaSound 添加对 MP3 解码的支持。
让我知道您以前是否尝试过音乐可视化工具。
是的;)
我制作了这个美妙的星空背景,并认为星星应该根据音乐闪烁和发光。你认为有可能检测到正在演奏的奇怪乐器吗?喜欢鼓还是弦?
我最近弄坏了自己的播放器并忙于其他事情,因此我正在使用 WinAmp 播放我最喜欢的曲目并观看 WinAmp 提供的一些 (300+) 可视化。我提到的原因是我的痕迹有两种类型,“示波器”风格和“李萨如”风格。查看上面链接的 YouYube 站点以获取每个示例。
WinAmp OTOH 提供了大量看似完全不同的风格,其中一些在视觉上与音乐密切相关,而另一些则完全不相关(它们本身就是漂亮的动画)。我认为那些与音乐有联系的人(除了代表轨迹本身 - 就像我的软件一样),他们的图形基于信号的音量,有时可以代表一个节拍。
计算音量的正确方法是以分贝 (dB) 为单位的数字,但在我的软件中,我实现了一个更简单的算法来检测每个通道的 RMS。您可以在 Rasputina Track 中看到这些音量条。
它们在该图像(左下/右下)中并不是特别清晰,但观看视频,我想你会发现它们更容易看到,并为你所追求的“脉动星星”类型的效果提供了良好的基础(乘以基本亮度的数字)。要让星星根据频率(例如低音 - 低,小提琴 - 高)以不同的方式闪烁,您需要查看频谱分析之类的东西 - 快速傅立叶变换是一种方法。
Javazoom 有一个 mp3 格式的库。
http://www.javazoom.net/javalayer/javalayer.html
我自己没用过。但我知道其他人已经成功地做到了。
从混音中提取乐器的工具已成为现实,但我不知道它们是否已在 Java 中实现。我猜这是可能的,但目前只有相当大的努力和有限的成功。人们必须应对 Java 的某些方面,这些方面使得这类事情比在“C”系列语言中可能更棘手(缺乏实时保证:垃圾收集时间的变化、线程切换)。