Never Ending Security

It starts all here

Tag Archives: Terminal

Play music from command line on Linux with Sound eXchange (SOX)


Terminal

If you are too addicted to the terminal/console and want to use it for every possible thing, then know that it can play music as well. There are many utilities for playing music files like mp3 directly from the commandline. They can be used to browse the file system, select music files and make a playlist. All from inside a terminal.

To get even more power, use a drop down terminal like yakuake or guake so that the terminal wont show up on the desktop.

So lets take a look at the tools that play music from the commandline.

SoX – Sound eXchange, the Swiss Army knife of audio manipulation

Sox is called the swiss army knife of audio manipulation. It can play, convert and apply effects to a variety of audio formats.

Project website
http://sox.sourceforge.net/

Welcome to the home of SoX, the Swiss Army knife of sound processing programs.SoX is a cross-platform (Windows, Linux, MacOS X, etc.) command line utility that can convert various formats of computer audio files in to other formats. It can also apply various effects to these sound files, and, as an added bonus, SoX can play and record audio files on most platforms.

Install on Ubuntu

To install sox on ubuntu just use the terminal.

$ sudo apt-get install sox libsox-fmt-all

The libsox-fmt-all package will install the necessary codecs to play formats like mp3.

Play music

Now lets play an mp3 file

$ play lets_rock.mp3 

Dada Bhagwan Na Aseem Jai Jaikar Ho.mp3:

 File Size: 102M      Bit Rate: 8.39k
  Encoding: MPEG audio    Info: 2000
  Channels: 2 @ 16-bit   Track: 1
Samplerate: 44100Hz      Album: Speed Beatz (Disc 1)
Replaygain: off         Artist: Access Music (Am025Q)
  Duration: 27:03:11.55  Title: I CAN SEE CLEARLY NOW (I THINK)

In:0.40% 00:06:34.18 [26:56:37.37] Out:17.4M [  -===|====- ] Hd:3.4 Clip:0

That will start playing the lets_rock.mp3 file right away.

Moc – Music on Console

Moc player is a feature rich music player for the console. It displays a text based file browser where the user can navigate and select the music files to play.

Project website
http://moc.daper.net/

Install on Ubuntu

Install moc from synaptic

$ sudo apt-get install moc

Play music

First launch the moc player by running the “mocp” command in terminal. It will bring up a blue colored file browser. Browse to the directory that contains the music files and hit enter to play.

┌┤...3-4d98-b06f-9dfaebefd6c1/Bhajans├┐┌──────────────┤Playlist├──────────────┐
│../                                  ││                                      │
│music/                               ││                                      │
│1 Access Music (Am025Q) - [62:52|MP3]││                                      │
│1 Access Music (Am025Q) - [     |OGG]││                                      │
│                                     ││                                      │
│                                     ││                                      │
│                                     ││                                      │
│                                     ││                                      │
│                                     ││                                      │
│                                     ││                                      │
│                                     ││                                      │
│                                     ││                                      │
│                                     ││                                      │
│                                     ││                                      │
│                                     ││                                      │
│                                     ││                                      │
│                                     ││                                      │
├────┤Playing...               ├──────────        S.Off 100%  ├───┤>001:02:52├┤
│|| 1 Access Music (Am025Q) - I CAN SEE CLEARLY NOW (I THINK) (Speed Beatz (Di│
│00:03 62:49 [62:52]   44kHz  224kbps [STEREO] [NET] [SHUFFLE] [REPEAT] [NEXT]│
└┤                                                                           ├┘

Moc player supports keyboard shortcuts to control the player. Press S to stop or P to pause. Move back or forward on the tracking by pressing left/right buttons.

Vlc player

The vlc player has an ncurses based commandline interface that can play music from the terminal.

Install vlc player from synaptic

$ sudo apt-get install vlc-nox

Play music

Now start the commandline vlc player by issuing the following command

$ vlc -I ncurses
VLC media player 2.0.5                             

 Source: <no current item>

 [ h for help ]

┌─────────────────────────────────────────────────────────────────────────────┐
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
┌───────────────────────────────── Playlist ──────────────────────────────────┐
│  Playlist                                                                   │
│  Media Library                                                              │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Now press h for help. It will show all the keyboard shortcuts that can be used to control the player.
The B button will bring up the file browser that can be used to navigate to the media directory and select the file to be player. So navigate to the directory that contains the music files

VLC media player 2.0.5                             

 Source: <no current item>

 [ h for help ]

┌─────────────────────────────────────────────────────────────────────────────┐
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────── Browse ───────────────────────────────────┐
│ + ..                                                                        │
│ + music                                                                     │
│   happy.mp3                                                                 │
│   happy.ogg                                                                 │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Select the music file and hit enter. It will get added to the playlist and the interface would show the playlist.
Now on the playlist select the music file and hit the space bar. It will start playing the music file.

VLC media player 2.0.5                             

 Source   : /home/enlightened/../../m...happy.mp3
 State    : Playing
 Position : 04:01/1:02:52
 Volume   : 100%
┌─────────────────────────────────────────────────────────────────────────────┐
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
┌───────────────────────────────── Playlist ──────────────────────────────────┐
│  Playlist                                                                   │
│* `-I CAN SEE CLEARLY NOW (I THINK)                                          │
│  Media Library                                                              │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Control the volumn with a/z keys. Can move backward/forward on the track with left/right or up/down keys as well.
Check the help page for all the supported options.

I noticed that it is bit buggy when pausing/resuming the playback. If the music does not start inspite of the “state” showing as playing then press the up/down or left/right button to shift the playing position. This will start the playback properly.

CMUS – Console Music Player

Cmus is another console based music player.

Project url
http://cmus.sourceforge.net/

Install on Ubuntu

$ sudo apt-get install cmus

Play music

Launch cmus by typing it in the terminal and hit enter. A dull looking interface would come up. Press 5 and the file browser would show. Now browser to the directory containing the media files, select the media file and hit enter. It should start playing.

Press the left/right buttons to move through the track time. Press 7 to see the help page and all the other available options.

To quit, enter “:quit” and hit enter.

Check the tutorial at
https://github.com/cmus/cmus/blob/master/Doc/cmus-tutorial.txt

20 amusing Linux commands to have fun with the terminal


The linux terminal is not always dull and boring. There are commands to make it do some funny acts to entertain the user.

Here is a small collection of such commands.

1. Cowsay

Install cowsay with apt.

$ sudo apt-get install cowsay

Cowsay is a talking cow that will speak out anything you want it to.

$ cowsay "Hi, How are you"      
 _________________
< Hi, How are you >
 -----------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Don’t like cows ? No problem there are other animals in the cow zoo. To find out how many, use the l option to get a list

$ cowsay -l
Cow files in /usr/share/cowsay/cows:
apt beavis.zen bong bud-frogs bunny calvin cheese cock cower daemon default
dragon dragon-and-cow duck elephant elephant-in-snake eyes flaming-sheep
ghostbusters gnu head-in hellokitty kiss kitty koala kosh luke-koala
mech-and-cow meow milk moofasa moose mutilated pony pony-smaller ren sheep
skeleton snowman sodomized-sheep stegosaurus stimpy suse three-eyes turkey
turtle tux unipony unipony-smaller vader vader-koala www
$ cowsay -f ghostbusters Who you Gonna Call
 ____________________
< Who you Gonna Call >
 --------------------
          \
           \
            \          __---__
                    _-       /--______
               __--( /     \ )XXXXXXXXXXX\v.
             .-XXX(   O   O  )XXXXXXXXXXXXXXX-
            /XXX(       U     )        XXXXXXX\
          /XXXXX(              )--_  XXXXXXXXXXX\
         /XXXXX/ (      O     )   XXXXXX   \XXXXX\
         XXXXX/   /            XXXXXX   \__ \XXXXX
         XXXXXX__/          XXXXXX         \__---->
 ---___  XXX__/          XXXXXX      \__         /
   \-  --__/   ___/\  XXXXXX            /  ___--/=
    \-\    ___/    XXXXXX              '--- XXXXXX
       \-\/XXX\ XXXXXX                      /XXXXX
         \XXXXXXXXX   \                    /XXXXX/
          \XXXXXX      >                 _/XXXXX/
            \XXXXX--__/              __-- XXXX/
             -XXXXXXXX---------------  XXXXXX-
                \XXXXXXXXXXXXXXXXXXXXXXXXXX/
                  ""VXXXXXXXXXXXXXXXXXXV""

Dragons, elephants, koalas and lot others.
The cowsay command supports quite a few options to modify the behaviour of the cows. Check the man page.

2. Cowthink

The cow can do more than just talking, it can even think. To make the cow think, use the cowthink command.

$ cowthink "Hmm, I didn't know that"
 _________________________
( Hmm, I didn't know that )
 -------------------------
        o   ^__^
         o  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

All animals of the cow zoo can think, and command is similar to the earlier one.

3. sl – Steam Locomotive

$ sudo apt-get install sl

With the sl command, a steam locomotive will run across your terminal from right to left. And it looks like this

(@@) (  ) (@)  ( )  @@    ()    @     O     @
                     (   )
                 (@@@@)
              (    )

            (@@@)
         ====        ________                ___________
     _D _|  |_______/        \__I_I_____===__|_________|
      |(_)---  |   H\________/ |   |        =|___ ___|      ________________
      /     |  |   H  |  |     |   |         ||_| |_||     _|
     |      |  |   H  |__--------------------| [___] |   =|
     | ________|___H__/__|_____/[][]~\_______|       |   -|
     |/ |   |-----------I_____I [][] []  D   |=======|____|_________________
   __/ =| o |=-O=====O=====O=====O \ ____Y___________|__|___________________
    |/-=|___|=    ||    ||    ||    |_____/~\___/          |_D__D__D_|  |_D_
     \_/      \__/  \__/  \__/  \__/      \_/               \_/   \_/    \_/

The sl command has 2-3 additional options, that can be found in the man pages.

4. figlet – draw banners

The figlet command can be used to draw large sized text banners. I remember seeing such banners as the welcome message of socket daemons/services, when connecting via telnet.

$ figlet Welcome
__        __   _                          
\ \      / /__| | ___ ___  _ __ ___   ___ 
 \ \ /\ / / _ \ |/ __/ _ \| '_ ` _ \ / _ \
  \ V  V /  __/ | (_| (_) | | | | | |  __/
   \_/\_/ \___|_|\___\___/|_| |_| |_|\___|

5. toilet – draw banners again

The toilet command is similar to the figlet command, that it draws large sized text banners using smaller characters.

$ toilet Welcome
                                                 
m     m        ""#                               
#  #  #  mmm     #     mmm    mmm   mmmmm   mmm  
" #"# # #"  #    #    #"  "  #" "#  # # #  #"  # 
 ## ##" #""""    #    #      #   #  # # #  #"""" 
 #   #  "#mm"    "mm  "#mm"  "#m#"  # # #  "#mm"

The toilet commands supports a wide range of options like unicode support, colored fonts, filters etc. Check out the man page. To draw the text in a bit different way, try the following command

$ toilet -f mono12 -F metal Linux

6. banner

The banner command too can print banners like figlet and toilet but it is very limited. No options and can print only 10 characters at most.

$ banner Wonderful
#     #
#  #  #   ####   #    #  #####   ######  #####   ######  #    #  #
#  #  #  #    #  ##   #  #    #  #       #    #  #       #    #  #
#  #  #  #    #  # #  #  #    #  #####   #    #  #####   #    #  #
#  #  #  #    #  #  # #  #    #  #       #####   #       #    #  #
#  #  #  #    #  #   ##  #    #  #       #   #   #       #    #  #
 ## ##    ####   #    #  #####   ######  #    #  #        ####   ######

But quick and handy.

7. fortune

The fortune command will put up a random, but hopefully sensible quote, or your fortune for the day.

$ fortune -s
Don't tell any big lies today.  Small ones can be just as effective.

The s option tells the fortune command to generate only small sized messages.

The cow can be made to say the fortune like this

$ fortune | cowsay
 ______________________________________
/ You like to form new friendships and \
\ make new acquaintances.              /
 --------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

8. cmatrix – The MATRIX

$ sudo apt-get install cmatrix

The command cmatrix draws the Neo style matrix on your terminal and makes you feel a little more geekier.

cmatrix

9. rev – Reverse text and files

The rev command will print the reverse of whatever you type in. First run rev, then start typing one sentence at a time

$ rev
hello
olleh
what ?
? tahw
this is super cool
looc repus si siht

10. Moo with apt-get

The apt-get command has this easter egg where the cow does a moo

$ apt-get moo
         (__) 
         (oo) 
   /------\/ 
  / |    ||   
 *  /\---/\ 
    ~~   ~~   
...."Have you mooed today?"...

11. Moo with aptitude

The aptitude command moos a bit reluctantly and here is how to make it do so.

$ aptitude moo
There are no Easter Eggs in this program.
$ aptitude -v moo
There really are no Easter Eggs in this program.
$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
enlightened@enlightened:~$ aptitude -vvv moo
Stop it!
$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
$ aptitude -vvvvv moo
All right, you win.

                               /----\
                       -------/      \
                      /               \
                     /                |
   -----------------/                  --------\
   ----------------------------------------------
$ aptitude -vvvvvv moo
What is it?  It's an elephant being eaten by a snake, of course.

You have to keep bugging aptitude with the verbose option to get the easter egg.

12. Watch Star Wars

This is not actually a command, but a text animation broadcasted at towel.blinkenlights.nl and can be played inside the terminal by telnetting to the server.

$ telnet towel.blinkenlights.nl

The show begins like this

blinkenlights
So if you have been sitting on the terminal for long and want some entertainment, turn it on.

13. Loop with yes

The yes command will go on printing the same thing indefinitely until stopped by a Ctrl+C. The command apparently appears to have no use, but in scenarios like software testing it is often needful to produce large amounts of junk text quickly and that is where tools like this come in handy.

$ yes start
start
start
start
start
... keeps going on

14. factor – factorise numbers

This command would print out all the lowest common multiple (LCM) factors of any given number.

$ factor 60
60: 2 2 3 5

If you still remember your school maths, factoring a prime number would produce only the number itself and no factors.

15. pi – The Constant

The pi command prints the mathematical constant PI to any number of decimal figures. So lets print it to the first 500 figures after decimal.

$ pi 50
3.1415926535897932384626433832795028841971693993751

16. Xcowsay

xcowsay is the gui version of the cowsay command, and you need a running desktop (X display) to use it. It cannot work solely from a terminal.

$ xcowsay "hello"

17. xeyes

Xeyes is also a gui program that draws a pair of eyes on the desktop which follow the mouse cursor. The eyes would look where ever the mouse cursor goes.

Just run the command and see the output

$ xeyes

18. asciiviewer – convert images to ascii art

Since the terminal is limited to only text, tools like asciiviewer are often useful to generate images out of pure text. And to do this you need the tool called asciiviewer

$ sudo apt-get install aview

And now convert any images to asciiart using this simple command

$ asciiview Tux.png -driver curses

asciiview
Spotting the Linux mascot above should not be difficult.

19. aafire – burn the console

The next command is aafire and it too is an asciiart animation that renders a burning fire on the terminal.

$ aafire

And the output should look like this

aafire

20. bb – the successor of aa

bb is a high quality audio-visual demonstration for your text terminal. It is a complete animation that draws using pure text and has background too. Very interesting to watch.

$ bb

bb

21. text to speech with espeak

espeak is a multi lingual software speech synthesizer. It can speak out text using stored sound files and patterns. And the best part is that it is a terminal application.

$ sudo apt-get install espeak

Now give it a sentence to speak

$ espeak "Hello Linux, where are the penguins"

It is capable of pronouncing complex “proper name” words.

So that was it, if you know about more such command line toys, then let us know in the comment box below.

22. rig

The rig command generates random and possibly fake identities.

$ rig
Bettye Dunlap
799 Second St
Denver, CO  80202
(303) xxx-xxxx