audio_metadata_reader 0.0.9 copy "audio_metadata_reader: ^0.0.9" to clipboard
audio_metadata_reader: ^0.0.9 copied to clipboard

A metadata reader for audio files. Support ID3, Vorbis comments and ILST itunes

A pure-Dart package for reading and writing metadata for different audio format

File Format Metadata Format(s) Read Write
MP3 ID3v1 ID3v2 ID3v3 ID3v4
MP4 iTunes-style ilst
FLAC Vorbis Comments
OGG Vorbis Comments
Opus Vorbis Comments

It's still in development and there's some metadat format that I could implement or some information the library could return. Just open an issue for that.

Usage #

import 'dart:io';

import 'package:audio_metadata_reader/audio_metadata_reader.dart';

void main() {
  final track = File("Pieces.mp3");

  // Getting the image of a track can be heavy and slow the reading
  final metadata = readMetadata(track, getImage: false);

  print(metadata.title);
  print(metadata.album);
}

Performance #

By running the following code on my laptop with a SSD, it ables to get the metadata of 3392 tracks in less than 200ms (if we don't fetch the covers). With the covers, about 400ms.

import 'dart:io';

import 'package:audio_metadata_reader/audio_metadata_reader.dart';

void main() {
  final folder = Directory(r"music folder")
      .listSync(recursive: true)
      .whereType<File>()
      .where((element) =>
          element.path.contains("mp4") ||
          element.path.contains("m4a") ||
          element.path.contains("mp3") ||
          element.path.contains("flac"))
      .toList();

  print("Number of tracks: ${folder.length}");

  final init = DateTime.now();

  for(final file in folder) {
    readMetadata(file, getImage: false);
  }

  final end = DateTime.now();

  print(end.difference(init));
}
17
likes
140
pub points
84%
popularity

Publisher

unverified uploader

A metadata reader for audio files. Support ID3, Vorbis comments and ILST itunes

Homepage
Repository (GitHub)
View/report issues

Topics

#audio #metadata #parser #music #song

Documentation

API reference

License

MIT (license)

Dependencies

charset, intl, mime

More

Packages that depend on audio_metadata_reader