44 Stimmen

Alle guten Empfehlungen für MP3/Sound-Bibliotheken für Java?

Ich bin auf der Suche nach Bibliotheken, die:

  • Lesen und Schreiben von Metadaten (z. B. ID3v2-Tags in mp3 und alle)
  • Konvertierung von komprimierten in rohe Audiodaten und, wenn möglich, von rohen Audiodaten in mp3, ogg, aac, ...
  • digitale Verarbeitung der Audiodaten (Energie, Klangfarbe, Mel Frequency Cepstral Coefficients - MFCC, FFT, LPC, Autokorrelation, Wavelet, ...)

die ich bereits kenne und mit denen ich nicht zufrieden bin:

  • JMF: Original von Sun, liest mp3 und wandelt es in WAV um. Liest aber keine Metadaten und bietet keine fortgeschrittenen digitalen Verarbeitungsfunktionen.
  • FMJ : Alternative Implementierung zum JMF mit den gleichen Einschränkungen.
  • jAudio : Nicht stabil und, obwohl potenziell, derzeit nicht gut gepflegt.
  • Marsyas : In der digitalen Verarbeitung genau das, was ich mir erhofft hatte, aber in C++. Vielleicht einige Port / Integration bereits verfügbar?
  • JID3 : API für Metadaten, scheint aber tot zu sein (letzte Veröffentlichung 2005/12/10).
  • JLayer : API zum Lesen und Spielen, ebenfalls tot (letzte Aktualisierung 2004/11/28).
  • MetaMusic : API des Programms ist ordentlich, aber keine offizielle Standalone-Open-Source-Projekt. Daher hat keine Gemeinschaft, zukünftige Unterstützung und alle...
  • Licht Dev : Einige interessante Funktionen, aber keineswegs vollständig.

Dies ist das Ergebnis einiger meiner eigenen Nachforschungen. Ich wäre sehr dankbar für alle Anregungen, Vorschläge, Kritik, ...

8voto

64BitBob Punkte 3077

JLayer sollte alles tun, was Sie brauchen. Es ist nicht tot, es ist nur stabil. Der Autor hat es vor langer Zeit fertiggestellt, und das MP3-Format hat sich seitdem kaum verändert. Sie werden feststellen, dass sein MP3SPI Codebasis ist ein wenig aktueller. MP3SPI übersetzt die Fähigkeiten von JLayer in JavaSound-APIs. Sie können also jeden JavaSound-Code nehmen, MP3SPI zum Klassenpfad hinzufügen und erwarten, dass MP3-Dateien funktionieren. Das ist ziemlich raffiniert :)

3voto

Art Clarke Punkte 2487

Sie könnten versuchen Xuggler . Hier sehen Sie, wie es bei Ihren Tests abschneidet:

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

wenn der zugrundeliegende Containertyp Metadaten-Unterstützung in FFmpeg hat, unterstützt Xuggler ihn.

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

Xuggler unterstützt mp3, ogg (vorbis oder speex), speex, vorbis, flac, aac, etc.

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

Xuggler hat keine DSP-Module, also müssen Sie eine andere Bibliothek dafür finden. Aber Xuggler wird Ihnen die Rohdaten liefern.

1voto

Andreas Holstenson Punkte 1428

Sie sollten versuchen, sich mit folgenden Themen zu befassen gstreamer-java Ich hatte Erfolg mit der Wiedergabe von Medien und es sollte möglich sein, Audiodateien damit zu konvertieren. Es gibt auch JFFMpeg Ich habe noch nicht so viel damit herumgespielt, daher kenne ich nicht den gesamten Umfang seiner Fähigkeiten und seines Zustands, aber es ist etwas, das man sich genauer ansehen sollte.

1voto

Übrigens, ich habe gerade mein MetaMusic-Projekt nach http://github.com/cpesch/MetaMusic/ da die Infrastruktur dort viel besser ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X