"use a scanner to read the barcodes directly"
Or just use cddb. It does require scanning the CD's table of contents (number and length of tracks) so it needs mounting each disk (slower than a barcode read), but I suppose you're going to be ripping them anyway at some point.