- * songTitle: -- {music}songTitle, cm:title - * albumTitle: -- {music}albumTitle - * artist: -- {music}artist, cm:author + * songTitle: -- cm:title + * albumTitle: -- audio:album + * artist: -- audio:artist, cm:author * description: -- cm:description - * comment: -- {music}comment - * yearReleased: -- {music}yearReleased - * trackNumber: -- {music}trackNumber - * genre: -- {music}genre - * composer: -- {music}composer - * lyrics: -- {music}lyrics + * comment: -- + * yearReleased: -- audio:releaseDate + * trackNumber: -- audio:trackNumber + * genre: -- audio:genre + * composer: -- audio:composer + * lyrics: -- ** - * TODO Get hold of a mp3 file with some lyrics in it, so we - * can contribute the patch to Tika + * Note - XMPDM metadata keys are also emitted, in common with + * the other Tika powered extracters * * Uses Apache Tika * * @author Nick Burch - * @author Roy Wetherall */ -public class MP3MetadataExtracter extends TikaPoweredMetadataExtracter +public class MP3MetadataExtracter extends TikaAudioMetadataExtracter { private static final String KEY_SONG_TITLE = "songTitle"; private static final String KEY_ALBUM_TITLE = "albumTitle"; private static final String KEY_ARTIST = "artist"; - private static final String KEY_DESCRIPTION = "description"; private static final String KEY_COMMENT = "comment"; private static final String KEY_YEAR_RELEASED = "yearReleased"; private static final String KEY_TRACK_NUMBER = "trackNumber"; private static final String KEY_GENRE = "genre"; private static final String KEY_COMPOSER = "composer"; - private static final String KEY_LYRICS = "lyrics"; public static ArrayList
+ * author: -- cm:author + * title: -- cm:title + * created: -- cm:created + * xmpDM:artist -- audio:artist + * xmpDM:composer -- audio:composer + * xmpDM:engineer -- audio:engineer + * xmpDM:genre -- audio:genre + * xmpDM:trackNumber -- audio:trackNumber + * xmpDM:releaseDate -- audio:releaseDate + *+ * + * @author Nick Burch + */ +public class TikaAudioMetadataExtracter extends TikaPoweredMetadataExtracter +{ + protected static final String KEY_LYRICS = "lyrics"; + + private static Parser[] parsers = new Parser[] { + new VorbisParser(), + new FlacParser() + }; + public static ArrayList