fetchtag can automatically update tags of audio files by searching the Internet. It is written in C, and Lua scripts are used as extensions for searching on different sites.
Currently it only supports a Chinese music website(music.douban.com), but some other sites will be added in the future. You can also write your own Lua scripts for any sites you like.
fetchtag will look into the directory, and compute edit distances for all pairs of music files and track titles. Then Munkres Algorithm is used for assigning tracks to music files.
By default, fetchtag will backup tag information before updating. So if you can restore if something's wrong in updating.
fetchtag uses Taglib for editing audio file tags.
You should also have Lua installed for running extensions.
Project page is on https://github.com/rk700/fetchtag
You can also send email to the author: Ruikai Liu