このプロジェクトについて

music-metadataは、オーディオおよびビデオメディアファイル用のオープンソースのメタデータパーサーで、npmパッケージとして配布されています。ローカルファイル、ストリーム、Blob、インメモリバッファからフォーマット、タグ、再生時間情報を読み取り、Node.jsおよびWebpackやRollupなどのツールでバンドルした場合のブラウザ環境の両方で動作します。 対応フォーマットには、MP3、MP4/M4A/M4V、FLAC、Ogg、Opus、Vorbis、Speex、Theora、WAV/BWF、AIFF/AIFF-C、AAC/ADTS、APE、ASF/WMA、Matroska/WebM、MPC、DSF、DSDIFF、WavPackが含まれます。タグ対応は、ID3v1、ID3v1.1、ID3v2.2、ID3v2.3、ID3v2.4、ID3v2 Chapters、APE、ASF、EXIF 2.3、iTunes/MP4、RIFF/INFO、Vorbisコメント、AIFFをカバーします。歌詞フォーマットのLRC、同期(SYLT)、非同期(USLT)歌詞も処理され、Picardが書き込むMusicBrainzタグやReplayGainタグも扱います。ビットレート、ビット深度、再生時間、エンコーディングプロファイル(CBR、V0、V2など)などのエンコーディング詳細も抽出されます。 APIはプロミスベースです。Node.js固有のエントリポイントは、ファイルシステムパス用のparseFileとNode.js Readableストリーム用のparseStreamです。クロスプラットフォームのエントリポイントには、Web ReadableStreamオブジェクト用のparseWebStream、BlobまたはFileオブジェクト用のparseBlob、Uint8ArrayまたはBufferデータ用のparseBuffer、カスタムまたはサードパーティのstrtok3トークナイザー用のparseFromTokenizerが含まれます。オプションのオプションにより、再生時間計算や埋め込みカバーアートのスキップなどの動作を制御できます。 バージョン8では、CommonJSから純粋なECMAScriptモジュールに移行し、ECMAScript 2020をターゲットとし、Node.js 22以降のエンジン要件があります。CommonJSの後方互換性パスが文書化されています。このプロジェクトはBorewitによってメンテナンスされ、CI、CodeQL、カバレッジ、依存関係の脆弱性バッジが含まれています。Audio Tag Analyzer、Webamp、ICYラジオストリームプレーヤーなどのオンラインデモは典型的な使用例を示しており、このライブラリはメディアアプリケーション、音楽プレーヤー、詳細なオーディオメタデータを必要とするその他のプロジェクトを対象としています。