MP3REPORT(1)
π MP3REPORT(1) β User Contributed Perl Documentation π
okay bestie, gather round, because this one is literally the Neon Goat MP3 Report Generator and it's about to change your whole filesystem situation β¨
πΈ NAME πΈ
mp3report β Neon Goat MP3 Report Generator. that's it, that's the name, and honestly? iconic. π
π¦ DESCRIPTION π¦
so here's the vibe: this is a customizable program that scans a whole list of (sub)directories and then builds you a report from an HTML template. like, it goes through your music folders and makes you a whole cute lil report. π
and it doesn't just list stuff β it also calculates various statistics and works out each song's playing time. the math? she's mathing. π₯
tag support, because of course:
- ID3 tags β
- ID3v2 tags β
It should work on any perl-ized OS β no cap. and if you wanna see a demo before you commit, the homepage has one: http://mp3report.sourceforge.net π
β¨ CONFIGURING β¨
every single option can be configured through the command line, fr fr. if you want more info on that, just run:
mp3report --help
you can also go in and modify the hard coded defaults at the top of the program file if that's your thing. main character energy, do what you want. π
also!! check out documentation.html for info on customizing your own template file. yes, your own. bespoke. artisan. π§
π USAGE π
the whole deal is:
Usage: mp3report [options] [directory...]
and here's every option, no gatekeeping:
--helpβ shows this help screen. the classic. the beloved. π--printmodeβ uses a smaller font for printing π¨οΈ--title=TITLEβ sets the title used in the report--outfile=OUTFILEβ file to write report to,'-'for STDOUT π--template=FILEβ file to use as report template--stdgenresβ use standard genres instead of winamp genres--id3v2β enable id3v2 support (experimental) π§ͺdirectory...β dirs to scan (subdirs included) ποΈ
for real, that's the entire help screen, verbatim, look:
--help shows this help screen
--printmode uses a smaller font for printing
--title=TITLE sets the title used in the report
--outfile=OUTFILE file to write report to, '-' for STDOUT
--template=FILE file to use as report template
--stdgenres use standard genres instead of winamp genres
--id3v2 enable id3v2 support (experimental)
directory... dirs to scan (subdirs included)
heads up about --id3v2: it's marked experimental in the source, so treat it like a new pair of shoes β cute, but don't run in them. π©°
π INSTALLATION π
good news bestie: you should be able to run mp3report directly after decompressing it. no build step, no drama. π«Ά
tar xfzv mp3report-1.0.2.tar.gz
cd mp3report-1.0.2
./mp3report.pl --help
that's it. that's the install. πΈ
one lil caveat tho β if your perl interpreter isn't in /usr/bin/perl, you'll need to change the first line of mp3report.pl. literally just that one line. π
and if you'd like to install the MP3::Info perl module so that other programs can use it too (sharing is caring π), it's available at:
http://search.cpan.org/search?dist=MP3-Info
okay and there's more where this came from, so don't go anywhereβ¦ πβ¨
π CUSTOMIZATION AND TEMPLATES π
Okay bestie, you can absolutely make this report your own. By creating your own HTML file or modifying one of the provided templates, you can customize the output of MP3 Report Generator. These are the various identifiers that MP3 Report Generator can look for in a report:
β¨ General Information β¨
$t_fontsizeβ This is either1or2, depending on the--printmodeflag. If printing mode is on, the idea is that the font size should be a little bit smaller so that it looks better on paper. To make sure this field does something, use"<FONT SIZE="$t_fontsize"">in your HTML code.$t_titleβ Used for the HTML"<TITLE">tag as well as the first line of the report, and is set by specifying--title=SOMETHINGon the command line.$t_datetimeβ The local date and time when the report was generated.$t_dirsβ The list of parent directories that was scanned in the report. Each directory is separated by"<BR>&nbsp;&nbsp;"so that they are on separate lines and indented.$t_numdirsβ The total number of directories and subdirectories scanned in the report.$t_numfilesβ The total number of MP3 files included in the report.$t_sizeβ The total size of all MP3 files included in the report combined. This is formatted into"x.xx GB (y.yy MB)".$t_playtimeβ The total playing time of all songs combined. This is formatted into an English sentence (4 days, 3 hours, 2 minutes, 1 second).$t_exectimeβ The total time it took to generate the report. This is formatted into an English sentence (4 days, 3 hours, 2 minutes, 1 second).$t_avgsizeβ The average size of the MP3s in this report. This is formatted into"x.xx MB".$t_avgplaytimeβ The average playing time of a single song in the report. This is formatted into an English sentence (3 hours, 2 minutes, 1 second).
π Report Settings π
$t_filenameβ The filename that the report is being written to.$t_template_filenameβ The filename of the template that is being used.$t_printmodeβ Either"Yes"or"No"depending on whether the--printmodeflag was specified.$t_customdirsβ Either"Yes"or"No"depending on whether user specified custom directories to scan on the command line.$t_genretypeβ Either"Standard"or"WinAMP"depending on whether or not the user specified--stdgenres.$t_id3v2β Either"Yes"or"No"depending on whether the--id3v2flag was specified.
π΅ Item Information π΅
$item_dirβ The current directory that is being scanned.$item_numβ The current sequential number of the item found.$item_filenameβ The filename of the item found. NOTE: This in versions older than1.0.2, this variable was called$item_name.$item_sizeβ The size of the item found. This is formatted into"x.xx MB".$item_bgcolorβ This will either be"#FFFFFF"or"#EEEEEE"(white or light gray) depending on whether or not the current item number is even or odd. This is used to make the cell color in tables alternate to make the report easier to read. In order for this to work, your HTML code must look something like"<TD BGCOLOR="$item_bgcolor">""...</TD>".$item_lenβ The playing time of the song found, formatted into"XX:YY"(minutes:seconds).
π§ MP3 Information π§
$item_totalsecondsβ The total number of seconds in the current song.$item_mp3versionβ The MPEG version number of the current MP3, usually1.$item_stereoβ Either"Stereo"or"Mono"depending on the number of channels in the MP3.$item_mpeglayerβ The MPEG layer number, usually3.$item_bitrateβ The bitrate of the current MP3 in kbps.$item_vbrβ If the current MP3 is encoded at a variable bitrate, this will equal"VBR". If not, it will be a blank string.$item_copyrightedβ Either"Copyrighted"or"Not copyrighted"depending on the MP3's copyright flag.$item_frequencyβ The frequency of the current MP3 in kHz.
π·οΈ ID3 Tag Information π·οΈ
$item_id3titleβ The song's ID3 title, maximum30characters.$item_id3artistβ The song's ID3 artist, maximum30characters.$item_id3albumβ The song's ID3 album, maximum30characters.$item_id3yearβ The song's ID3 year, maximum4characters.$item_id3commentβ The song's ID3 comment, maximum30characters (28if the ID3 tag also contains a track number).$item_id3genreβ The song's ID3 genre. You may disable WinAMP genres by specifying the--stdgenresflag.$item_id3tracknumβ The song's ID3v1.1 track number (if present), maximum2characters.
π ID3v2 Tag Information π
ID3v2.3.0 (or later) tags are also supported. To enable ID3v2 support, use the --id3v2 flag on the command line. The following is taken from MPEG::MP3Info::v2_tag_names:
$item_id3v2_wpayβ WPAY: Payment$item_id3v2_textβ TEXT: Lyricist/Text writer$item_id3v2_tolyβ TOLY: Original lyricist(s)/text writer(s)$item_id3v2_tmedβ TMED: Media type$item_id3v2_rvadβ RVAD: Relative volume adjustment$item_id3v2_timeβ TIME: Time$item_id3v2_rbufβ RBUF: Recommended buffer size$item_id3v2_toalβ TOAL: Original album/movie/show title$item_id3v2_trckβ TRCK: Track number/Position in set$item_id3v2_iplsβ IPLS: Involved people list$item_id3v2_mlltβ MLLT: MPEG location lookup table$item_id3v2_tkeyβ TKEY: Initial key$item_id3v2_apicβ APIC: Attached picture$item_id3v2_sytcβ SYTC: Synchronized tempo codes$item_id3v2_tyerβ TYER: Year$item_id3v2_tposβ TPOS: Part of a set$item_id3v2_trsnβ TRSN: Internet radio station name$item_id3v2_ufidβ UFID: Unique file identifier$item_id3v2_trsoβ TRSO: Internet radio station owner$item_id3v2_tsizβ TSIZ: Size$item_id3v2_tencβ TENC: Encoded by$item_id3v2_trdaβ TRDA: Recording dates$item_id3v2_commβ COMM: Comments$item_id3v2_syltβ SYLT: Synchronized lyric/text$item_id3v2_woafβ WOAF: Official audio file webpage$item_id3v2_linkβ LINK: Linked information$item_id3v2_comrβ COMR: Commercial frame$item_id3v2_tbpmβ TBPM: BPM (beats per minute)$item_id3v2_pcntβ PCNT: Play counter$item_id3v2_tofnβ TOFN: Original filename$item_id3v2_woarβ WOAR: Official artist/performer webpage$item_id3v2_woasβ WOAS: Official audio source webpage$item_id3v2_tpe1β TPE1: Lead performer(s)/Soloist(s)$item_id3v2_tfltβ TFLT: File type$item_id3v2_tpe2β TPE2: Band/orchestra/accompaniment$item_id3v2_tsrcβ TSRC: ISRC (international standard recording code)$item_id3v2_tpe3β TPE3: Conductor/performer refinement$item_id3v2_rvrbβ RVRB: Reverb$item_id3v2_tpe4β TPE4: Interpreted, remixed, or otherwise modified by$item_id3v2_mcdiβ MCDI: Music CD identifier$item_id3v2_tdlyβ TDLY: Playlist delay$item_id3v2_tdatβ TDAT: Date$item_id3v2_toryβ TORY: Original release year$item_id3v2_tlanβ TLAN: Language(s)$item_id3v2_tcomβ TCOM: Composer$item_id3v2_tlenβ TLEN: Length$item_id3v2_tconβ TCON: Content type$item_id3v2_tcopβ TCOP: Copyright message$item_id3v2_owneβ OWNE: Ownership frame$item_id3v2_tpubβ TPUB: Publisher$item_id3v2_txxxβ TXXX: User defined text information frame$item_id3v2_geobβ GEOB: General encapsulated object$item_id3v2_tsseβ TSSE: Software/Hardware and settings used for encoding$item_id3v2_privβ PRIV: Private frame$item_id3v2_tit1β TIT1: Content group description$item_id3v2_talbβ TALB: Album/Movie/Show title$item_id3v2_tit2β TIT2: Title/songname/content description$item_id3v2_tit3β TIT3: Subtitle/Description refinement$item_id3v2_possβ POSS: Position synchronisation frame$item_id3v2_gridβ GRID: Group identification registration$item_id3v2_usltβ USLT: Unsychronized lyric/text transcription$item_id3v2_encrβ ENCR: Encryption method registration$item_id3v2_townβ TOWN: File owner/licensee$item_id3v2_worsβ WORS: Official internet radio station homepage$item_id3v2_etcoβ ETCO: Event timing codes$item_id3v2_equaβ EQUA: Equalization$item_id3v2_wcomβ WCOM: Commercial information$item_id3v2_aencβ AENC: Audio encryption$item_id3v2_topeβ TOPE: Original artist(s)/performer(s)$item_id3v2_wcopβ WCOP: Copyright/Legal information$item_id3v2_popmβ POPM: Popularimeter$item_id3v2_wpubβ WPUB: Publishers official webpage$item_id3v2_wxxxβ WXXX: User defined URL link frame$item_id3v2_userβ USER: Terms of use
π ACKNOWLEDGEMENTS π
Much thanks to Chris Nandor and contributors to MP3::Info... it saved me a lot of time :) And to Larry Wall for such a great language.
Hello to MMT, UCLA LUG, cX, and of course the DJs of Mister Balak's Neighborhood!
π SEE ALSO π
MP3::Infoβhttp://search.cpan.org/search?dist=MP3-InfoID3v2βhttp://www.id3.org/SourceForgeβhttp://www.sourceforge.netDamn, these guys rock.icecastβhttp://www.icecast.org
π AUTHOR AND COPYRIGHT π
Neon Goat MP3 Report Generator v1.0.2 - April 5, 2000 Copyright (C) 2000, David Parker, Neon Goat Productions.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
See COPYING or http://www.gnu.org for more information.
David Parker david@neongoat.com http://www.neongoat.com http://mp3report.sourceforge.net
That's the whole manual, bestie. Source/version: perl v5.36.0 β date: 2023-10-05. Now go make the most iconic MP3 report. π
β¨
π¦ where this page comes from
- debian trixie: mp3report 1.0.3-2 Β· GPL-2.0-or-later
- ubuntu noble: mp3report 1.0.3-2 Β· GPL-2.0-or-later
- ubuntu questing: mp3report 1.0.3-2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms