Console-based mp3 player with Winamp key bindings and jump-to-file

Node frontend for mplayer with:

  • Winamp key bindings

  • Jump-to-file

  • Song ratings and filter by song rating

  • Random shuffle and repeat modes


Install mplayer (e.g. aptitude install mplayer). mplayer is used for playback, which means that nplay works even on Windows, though you need to adjust the path to mplayer.

Install nplay:

npm install -g nplay

This allows you to run nplay from anywhere.


z - x - c - v - b is the bottom row on your keyboard.

z - Previous
x - Play
c - Pause
v - Stop
b - Next
s - Shuffle mode
r - Repeat mode
f - Filter mode (filtered by rating >= 3)
1...5 - Rate song
j - Jump to file by filename search

Command line

You can pass paths (to directories or to files) to nplay to play the files. Directories are traversed recursively.

nplay /home/m/mp3

When no arguments are passed, nplay reads ~/.nplay.json and uses the paths set there. The idea is that you are mostly listening to the same library of files:

  "directories": [ "/home/m/mp3" ]

Playback interface:


Jump to with autocompletion and song selection using up/down/enter keys:

Partial matches are supported, separate terms with a space.


Shuffle mode

The random playlist is pre-generated when the mode is started, so if you skip past a good song, you can go back to it.

Filter mode

Filters songs to only rated ones.