Any good recommendations for MP3/Sound libraries for java? [closed]

蹲街弑〆低调 提交于 2019-12-17 04:14:40

问题


I'm looking for libraries to:

  • read and write meta data (for example ID3v2 tags in mp3 and all)
  • convert compressed to to raw audio data and if possible raw audio data to mp3, ogg, aac, ...
  • digitally process the audio data (energy, timbre, Mel Frequency Cepstral Coefficients - MFCC, FFT, LPC, Autocorrelation, Wavelet, ...)

I already know and am not content with:

  • JMF: original from Sun, reads mp3 and turns it into WAV. But does not read meta data nor provide any advanced digital processing features.
  • FMJ: Alternative implementation to JMF with same limitations.
  • jAudio: Not stable and although potential, currently not well maintained.
  • Marsyas: In digital processing just what I had hoped for, but in C++. Maybe some port / integration already available?
  • JID3: API for meta data, but seems to be dead (last release 2005/12/10).
  • JLayer: API for reading and playing, also dead (last update 2004/11/28).
  • MetaMusic: API of the program is neat but no official standalone open source project. Therefore has no community, future support and all...
  • Light Dev: Some interesting features, but not at all complete.

This is what some of my own investigation has turned up. I would greatly appreciate all input, suggestions, critics, ...


回答1:


JLayer should do everything you need. It's not dead, it's just stable. The author finished it up quite a long time ago and the MP3 format has not seen much change since. You'll notice that his MP3SPI codebase is a little more recent. What MP3SPI does, is that translates JLayer's abilities into JavaSound APIs. Thus you can take any JavaSound code, add MP3SPI to the classpath, and expect that MP3 files will start working. It's pretty nifty. :)




回答2:


You could try Xuggler. Here's how it does on your tests:

* read and write meta data (for example ID3v2 tags in mp3 and all):

if the underlying container type has meta-data support in FFmpeg, Xuggler supports it.

* convert compressed to to raw audio data and if possible raw audio data to mp3, ogg, aac, ...

Xuggler supports mp3, ogg (vorbis or speex), speex, vorbis, flac, aac, etc.

* digitally process the audio data (energy, timbre, Mel Frequency Cepstral Coefficients - MFCC, FFT, LPC, Autocorrelation, Wavelet, ...)

Xuggler does not have DSP modules so you'll need to find another library for that. But Xuggler will give you the raw data.




回答3:


You should try to looking into gstreamer-java, I've had success with playing media via it and it should be possible to convert audio files with it. There is also JFFMpeg that integrates into JMF, I haven't poked around that much with it so I don't know the total extent of its capabilities and state, but its something to look at more closely.




回答4:


Btw, I've just moved my MetaMusic project to http://github.com/cpesch/MetaMusic/ since the infrastructure there is much better.



来源:https://stackoverflow.com/questions/86083/any-good-recommendations-for-mp3-sound-libraries-for-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!