Emms is distributed with multiple predefined methods for retrieving info, provided by emms-info-mp3info.el, emms-info-ogginfo.el, emms-cue.el and emms-info-libtag.el. The first two packages are front-ends for command-line tools. Ogg track information is retrieved using the ogginfo software. Likewise, mp3 track information is available using mp3info. emms-cue.el retrieves tracks information for ape/flac files by parsing a cue sheet file, which is plain text. Finally, emms-info-libtag.el uses a tiny C shim (included in the src/ directory) program to take advantage of TagLib.
Automatic track information retrieval is enabled by default in the `emms-standard', `emms-all' and `emms-devel' setup levels provided by emms-setup.el. For more information about emms-setup.el see See Simple Setup.
If you would like to know how Emms track retreival works and how we can define new methods for track retrieval see See Defining Info Methods.
There are a number of user variables which control the behaviour of `emms-info'.
Non-nil when Emms should update track information if the file changes. This will cause hard drive activity on track loading. If this is too annoying for you, set this variable to nil.
Non-nil when track information should be loaded asynchronously. This requires the feature `later-do' which is provided by the file later-do.el, which should come with Emms.