I'm finding that EMMS fails to import the info from the tags for certain mp3 files and I'm not sure why.

If I select such a track and press E to call emms-tag-editor-edit, all fields show empty. But if I check a problem track directly with mp3info, the files seem to be tagged correctly.

What might be going wrong here and how do I fix it?

  • perhaps emacs does not have the same environment (i.e., $PATH) as your terminal. This can happen with GUI emacs, in which case I use and recommend the package exec-path-from-shell May 24, 2016 at 19:18
  • @Alejandro Erickson, I installed the package, now what? (I'm on Ubuntu 14.04 if that matters.)
    – Brian Z
    May 24, 2016 at 21:31

1 Answer 1


There are two (three) things that, in my experience, can cause EMMS to fail to get tags from mp3info.

  1. Your $PATH variable in Emacs is different from your shell's $PATH variable. This can happen especially on Mac OS X gui emacs. You can check Emacs' path variable with M-x getenv RET, and choosing PATH from a list. A solution is to use the package exec-path-from-shell, which can be installed via the melpa package manager in emacs. If installed manually you'll need (require 'exec-path-from-shell). In any case, after installing, add (exec-path-from-shell-initialize) to your init file. Do which mp3info or whatever to verify whether the executable lies within Emacs' $PATH.

  2. Install EMMS via git and not via ELPA. It appears that some users (i.e., myself) found that elpa EMMS does not interface with any tag program, but that cleaning the elpa EMMS out and installing from the git repository does work.

(3.) I don't think this is a problem for the original question, but mp3info only works with id3v1 tags, whereas many MP3s may only have id3v2.* tags. I suggest you use libtag for compatability with all tags and other non-MP3 file formats. To setup with libtag follow instructions in my other answer about this.

To keep mp3info follow the same instructions but remove the libtag stuff from the init configuration. I have done that below:

(add-to-list 'load-path "~/.emacs.d/lisp/emms/lisp/");;add the emms elisp path
;;emms configuration ;;; elisp comment ;)
(require 'emms)      ;;; load emms from "~/.emacs.d/lisp/emms/lisp/"
                     ;;; i.e., the core functionality
(require 'emms-setup);;; load some functions that will set some preferences
                     ;;; it's worth looking at this file
(emms-all)           ;;; load all stable features of emms, defined in emms-setup
(emms-default-players);; load a list of default players (like mplayer) installed defined in emms-setup
(setq emms-source-file-default-directory "/Volumes/Seabeam HD/Music/")
;;; below is a nice key command for toggling the music browser
(autoload 'emms-smart-browse "emms-browser.el" "Browse with EMMS" t)
(global-set-key [(f7)] 'emms-smart-browse) 
  • re: #1 which mp3info says /usr/bin/mp3info and /usr/bin/ shows up in the list I get from echo $PATH, so I guess that part is OK? I'm working on #2... I found instructions here: gnu.org/software/emms/quickstart.html But I get an error when I start Emacs, "File error: Cannot open load file, emms-setup".
    – Brian Z
    May 25, 2016 at 14:58
  • 1
    Is your emms install in your elisp path? add (add-to-list 'load-path "~/.emacs.d/lisp/emms/lisp/") to your init file, assuming that's where you cloned emms to. Also, I fixed the link to my own walkthrough of the quickstart guide: emacs.stackexchange.com/questions/22424/… May 25, 2016 at 15:05
  • 1
    Also, where did you do echo $PATH? you want to make sure emacs is using that path using M-x getenv RET, and then choosing PATH from the list. May 25, 2016 at 15:09
  • 1
    I should have followed these instructions instead, which you actually link to in your other answer: gnu.org/software/emms/manual/#Quickstart-Guide. I had to get the load-path right and I also had to compile with make. Looks like that finally solved my problem, thanks!
    – Brian Z
    May 25, 2016 at 15:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.