After a nearly two year hiatus, I finally got around to updating Universal Extractor. This release focuses heavily on bug fixes, reliability improvements, and component updates, so the "new features" list is rather short. It is, however, an important update and I recommend all Universal Extractor users upgrade when they get the chance. It also includes several new and updated translations. Please check out the changelog for all the details.
For more information:
Universal Extractor home page and downloads
Universal Extractor ChangeLog
Universal Extractor feedback and support
I've released a minor update to Convert to FLAC. This fixes a cosmetic bug that could result in inconsistent status output when converting multiple files concurrently (ie., when using the -t option). I also added a -V option to simply display the version of convtoflac and then exit; I'll be adding this to all of my scripts eventually.
Users w/ multi-core or multi-processor systems are encouraged to upgrade.
For more information:
Convert to FLAC home page and downloads
Convert to FLAC ChangeLog
I updated the Modify Path (modpath) Inno Setup script. This is a small but important (and long overdue) update that fixes support for Unicode versions of Inno Setup. If you've had trouble using Modify Path with recent versions of Inno Setup, grab this update.
The update can be downloaded from the script's home page:
Modify Path
I justed added a section for miscellaneous script section to my Software page. These are various scripts that I've written over the years for my own use, but I'd like to share them with others that may be able to benefit from them. Please note, however, that unlike the other applications I've released on my site (UniExtract, Convert to FLAC, etc.), these scripts are much less polished and robust. Please keep this in mind and review source code running any of them.
Right now there are only a handful of scripts there, but there are plenty of more that I'd like to add when I get the time (some require a little more cleanup than others).
To review and download the scripts:
Miscellaneous Scripts
In the 2.0 update for Convert to FLAC I added support for converting from Apple Lossless Audio Codec (ALAC) files. Part of the process of converting formats involves copying existing tags and metadata wherever possible, and in order to do this with ALAC files I use a separate utility called mp4info. This utility originally came from the MPEG4IP project, but unfortunately that project now seems to be defunct. As a result, I've switched over to the libmp4v2 project, which is still active and provides its own mp4info utility.
Unfortunately, the output from the two versions of mp4info is slightly different. As a result, I had to modify Convert to FLAC to support the new syntax. This change will only affect you if you're trying to convert ALAC files to FLAC. If that's the case, please note the following:
Sorry for the inconvenience. To download the new version:
Convert to FLAC home page and downloads
Convert to FLAC ChangeLog
I just posted updates for apeinfo and Convert to FLAC, which is the first update in quite some time for both of them.
The apeinfo update was mostly to address compatibility issues. It's been updated to properly support GCC 4.x (which almost all Linux distributions ship with today), and I've also included a 64-bit binary for those of you running 64-bit Linux distributions. The older 32-bit still works fine if you'd prefer to use it, but using it on a 64-bit distro will require installation of 32-bit compatibility libraries.
Convert to FLAC received a much more significant update, and has been bumped up to version 2.0 as a result. The highlights include the ability to accept and process multiple input files, support for Apple Lossless (ALAC) and True Audio (TTA) input files, dynamic path setting for "helper" binaries (so you no longer need to edit paths in the script), and a rather import bug fix to ensure that both the decode and encode steps in the transcoding process are completed successfully. Anyone using Convert to FLAC is strongly encouraged to update to this new version.
For more information:
apeinfo home page and downloads
apeinfo ChangeLog
Convert to FLAC home page and downloads
Convert to FLAC ChangeLog
Enjoy!
Note: The following information was originally published at http://reactor-core.org/ogg-tagging.html, but this page is no longer available. I found this information to be extremely useful, so I'm posting a copy of it here for archival purposes. This copy was pulled from a mirror of the original site, located at http://age.hobba.nl/audio/mirroredpages/ogg-tagging.html, on 05/09/2009.
This is currently a direct copy of the original source content, modified only slightly in order to match the format of my site. In time I may modify or extend it, but any changes will be clearly indicated.
Updated 06/03/2010: Additional proposed fields added below, indicated by "proposed by Legroom.net."
Originally published Thu Jul 3 20:35:53 PDT 2003
The following recommendations were developed by a community of Ogg/Vorbis users for their own use.
The purpose of the set of tags in this recommendation is to provide information about the track that contains the tags. It is not the purpose of the tags to provide general information about the piece of music in the track, such as a listing of every recording that contains that same piece of music. External databases and the internal Ogg metadata stream are appropriate for information about the music, except where it fills one of the 4 goals listed below.
Piracy happens. We can't prevent it. At least we can encourage less damaging behaviors, such as making sure than when someone likes a track, they have enough information to reimburse the artist by going out and purchasing the original source media the music came on.
These recommendations are written in the context of http://www.xiph.org/ogg/vorbis/doc/v-comment.html, which is authoritative.
All tags are OPTIONAL; you can have an ogg file with NO tags present and it will still be compliant. It is RECOMMENDED that you put enough tags in the ogg to meet goals 1 through 4 above. The tags needed will vary with each recording, and will often be no more than the tags already used.
Before we continue, here is a nifty bourne shell function you can stick in your ~/.bash_profile:
ogg-grep () {
REGEX="$1";
shift;
for i in "$@"; do
vorbiscomment -l "$i"|grep -i "$REGEX" >/dev/null && echo "$i";
done;
}
You could use it like this:
ogg-grep "CONDUCTOR=.*Karajan" ~/music/oggfiles/*.ogg
It would display, one per line, all the ogg files where Karajan was the conductor of the piece.
A compliant Ogg player program will intelligently display, or let the user specify how to display, all the tags in an Ogg file.
A compliant Ogg file may contain tags not in these recommendations.
Compliant tag editors and rippers may support tags not in these recommendations, but should encourage use of recommended tags over tags not in this document.
UTF-8 is the default encoding for tag data. Unfortunately UTF-8 muffed it for Asian languages by doing the equivalent of giving the same character codes to English, Russian, and Greek letters.
Fortunately UTF-8 itself has an internal, standard solution to the problem: http://www.unicode.org/unicode/reports/tr27/#tag which basically says: mark the language of text with U+E0001 LANGUAGE TAG, followed by the RFC 3066 language ID (ie. "ja") encoded in lowercase ASCII plus 0xE0000. This is the only mechanism recognized by this document.
Programs which don't want to interpret such markup can simply ignore it; it is zero width. The scope of the language setting is until the end of the tag, or until a new language setting is encountered, whichever comes first.
Singleton tags, which should only appear once. If one of these tags appears more than once, its last appearance should be displayed if there is only room to display one instance of the tag.
Additional singleton proposed by Legroom.net.
The remaining tags are multiples; if they are present more than once, all their occurrences are considered significant.
Here is a typical example for most POP music.
ALBUM=Joyride
ENSEMBLE=Roxette
TITLE=Joyride
Here is what you might see if you played it with ogg123:
Album: Joyride
Ensemble: Roxette
Title: Joyride
Bitstream is 2 channel, 44100Hz
Here is a typical example for CLASSICAL music.
LABEL=Deutsche Grammophon
COMPOSER=Gustav Mahler
CONDUCTOR=Herbert von Karajan
ENSEMBLE=Berliner Philharmoniker
PERFORMER=Liza don Getti (soprano)
PERFORMER=Joe Barr (piano)
OPUS=8
PART="movement 1. Allegreto"
TITLE="Symphony no. 4"
COMMENT=I was present when this recording was made; met my wife there.
COMMENT=The flautist ate a green pickle with a purple egg.
And here is what you might see if you played it with ogg123:
Playing from file ogg/mystery_file_I_got_from_gnutella.ogg
Label: Deutsche Grammophon
Composer: Gustav Mahler
Conductor: Herbert von Karajan
Ensemble: Berliner Philharmoniker
Performers: Liza don Getti (soprano)
Joe Barr (piano)
Title: Symphony no. 4 (Opus 8), movement 1. Allegreto
Comments: I was present when this recording was made; met
my wife there. The flautist ate a green pickle
with a purple egg.
Bitstream is 2 channel, 44100Hz
Here is a really whacked example that uses all the tags in this document.
OPUS=1
COMPOSER=Stravinsky
ARRANGER=Ravel
PRODUCER=Fat Fred
LYRICIST=Puccini
AUTHOR=Reverend Lovejoy
CONDUCTOR=Zubin Meta
PERFORMER=Nix Nax (piccolo)
ENSEMBLE=Upper East German Woodwind Band
LABEL=BIZ
LABELNO=54001
ISRC=132938420384
EAN/UPN=11111111111
TRACKNUMBER=8
ALBUM=Tootles and Tunes
TITLE=The Life and Times of Friar Tux
PART=1. Minuet (allegro con molto)
GENRE=classical (avant garde)
DATE=1974-09-03 recorded
LOCATION=Easthampton Cathedral, Chesterwickshire
COPYRIGHT=Unclaimed
COMMENT=This is the wierdest, ugliest piece of music I've ever heard. Its the ugly duckling of the classical music world.
And here is what it would like like from ogg123
Album: Tootles and Tunes
Track: 8
Title: The Life and Times of Friar Tux (Opus 1), first minuet (allegro con molto)
Composer: Stravinksy
Conductor: Zubin Meta
Performer: Nix Nax (piccolo)
Ensemble: Upper East German Woodwind Band
Arranger: Ravel
Lyricist: Puccini
Author: Reverend Lovejoy
Label: BIZ
Copyright: Unclaimed
EAN/UPN: 111111111
Genre: classical (avant garde)
Producer: Fat Fred
Recorded on: Sept 3, 1974
Recorded at: Easthampton Cathedral, Chesterwickshire
Comments: This is the wierdest, ugliest piece of music I've ever heard.
Its the ugly duckling of the classical music world. It has a
monotone reading throughout, of that famous sermon by
Reverend Lovejoy, "Life and Times of Friar Tux"
Bitstream is 2 channel, 44100Hz
This document is provided for reference purposes only. It is not endorsed by Reactor Core staff or Jonathan Walther, unless otherwise stated. The battle for Christ's Kingdom is always changing, moving to new fronts. The Christian soldier must be trained to prove every thought, ideology, train of reasoning, and claim to truth he meets. Slander is from Satan; Truth is from the Holy Spirit. The wise and the just check every fact for themselves before judging. (1 Thessalonians 5:21, 1 John 4:1-3, John 14:26, John 16:26, Revelation 12:10, Proverbs 14:15, Proverbs 18:13)