web-dev-qa-db-ja.com

Java用のMP3 /サウンドライブラリの良い推奨事項はありますか?

私はライブラリを探しています:

  • メタデータの読み取りと書き込み(たとえば、mp3とすべてのID3v2タグ)
  • 圧縮して生のオーディオデータに変換し、可能であれば生のオーディオデータをmp3、ogg、aacなどに変換します。
  • オーディオデータをデジタル処理(エネルギー、音色、メル周波数ケプストラム係数-MFCC、FFT、LPC、自己相関、ウェーブレットなど)

私はすでに知っており、満足していません:

  • JMF:Sunのオリジナル、mp3を読み取り、それをWAVに変換します。ただし、メタデータを読み取ったり、高度なデジタル処理機能を提供したりすることはありません。
  • [〜#〜] fmj [〜#〜] :同じ制限を持つJMFの代替実装。
  • jAudio :安定しておらず、可能性はありますが、現在十分に維持されていません。
  • Marsyas :デジタル処理では、私が望んでいたものと同じですが、C++です。多分いくつかの移植/統合はすでに利用可能ですか?
  • JID :メタデータ用のAPIですが、機能していないようです(最終リリース2005/12/10)。
  • JLayer :読み取りと再生のためのAPIで、これも無効になっています(最終更新2004/11/28)。
  • MetaMusic :プログラムのAPIはすっきりしていますが、公式のスタンドアロンオープンソースプロジェクトはありません。したがって、コミュニティ、将来のサポートなどはありません...
  • Light Dev :興味深い機能がいくつかありますが、完全ではありません。

これは、私自身の調査の一部で判明したものです。私はすべての入力、提案、批評家に感謝します...

42
roesslerj

JLayerは必要なすべてのことを行う必要があります。死んでいるのではなく、安定しています。著者はかなり前にそれを仕上げました、そして、MP3フォーマットはそれ以来それほど大きな変化を見ていません。彼の MP3SPI コードベースがもう少し新しいことに気づくでしょう。 MP3SPIは、JLayerの機能をJavaSound APIに変換します。したがって、任意のJavaSoundコードを取得し、クラスパスにMP3SPIを追加して、MP3ファイルが機能し始めることを期待できます。それはかなり気の利いたです。 :)

8
64BitBob

Xuggler を試すことができます。テストでの動作は次のとおりです。

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

基になるコンテナータイプがFFmpegでメタデータをサポートしている場合、Xugglerはそれをサポートします。

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

Xugglerは、mp3、ogg(vorbisまたはspeex)、speex、vorbis、flac、aacなどをサポートしています。

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

XugglerにはDSPモジュールがないため、別のライブラリを見つける必要があります。しかし、Xugglerは生データを提供します。

3
Art Clarke

gstreamer-Java を調べてみてください。メディアの再生に成功し、オーディオファイルを変換できるはずです。また、JMFに統合する JFFMpeg もあります。私はそれをあまり取り上げていなかったため、その機能と状態の全体的な範囲はわかりませんが、もっと詳しく見ていきます。

1

ところで、私はMetaMusicプロジェクトを http://github.com/cpesch/MetaMusic/ に移動しました。インフラストラクチャがはるかに優れているからです。

1
Christian Pesch