38

I'm wondering if there's a command I can install to play an audio file from the terminal, or if I can do it with Python or a different code? I just want to type a command, have it play a sound until the sound is finished, then return to the prompt. I don't want a GUI.

3
  • Looking at the answers under askubuntu.com/questions/44443/command-line-audio-players this doesn't seem like a duplicate. The sox solution under here is not present under the linked question, and that is the answer: here, but not there.
    – cipricus
    Nov 24, 2019 at 17:26
  • 1
    nvlc doesn't just return to a prompt (although the hotkeys for volume are handier than my next suggestion). mpv --no-audio-display will play in the terminal and return to a prompt when it's done playing. If you specify a folder instead of a file, it will play all the songs in the folder.
    – oksage
    Dec 13, 2020 at 7:08
  • Why not post that as an answer? Dec 19, 2020 at 1:24

2 Answers 2

55

Yes you can do it with many commandline tools like mpg123, aplay , cvlc and mplayer, but I suggest the play command. To install it:

sudo apt install sox

And for playing special formats like mp3 you must install its libraries:

sudo apt install libsox-fmt-mp3

And to use it:

play music.mp3

If you want to use it with full libraries, you must install libsox-fmt-all package:

sudo apt install libsox-fmt-all
2
  • When I run play on a short bell sound, it tends to only play part of the sound, for some reason. Didn't occur when I used mpg123.
    – Andrew
    Apr 18 at 23:52
  • Also paplay which is installed by default. May 4 at 13:56
1

You can do the same with another tool called mpg123, to install it,

sudo apt install mpg123

and then use it by,

mpg123 file.mp3
1
  • mpg123 worked better for me than play, see above.
    – Andrew
    Apr 18 at 23:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .