You’ll need Perl, and Config::IniFiles.
A sample ini file so you can see how to set this up: welch_rawlings_shepherds_bush.ini.
At the moment, this just generates output that you’ll need to feed to sh, but it handles renaming, converting and tagging MP3s to my satisfaction.
Update: it doesn’t handle FLAC tags, even though they’d be a good source of metadata. I may look into implementing that some day.