Tizonia - A Command Line Music Player for Linux

Channel: Linux
Abstract: you need to connect with your SoundCloud account using the "Connect with SoundCloud" button. This opens up the connect page on the SoundCloud server.

Tizonia is an Open source multimedia software project based on OpenMAX IL for those who love to stream music. It has every potential to become your one-stop music player, if you share a LAN with friends, you can set up a common music server. Tizonia project also features an audio streaming client/server for Linux with support for Spotify, Google Play Music, and SoundCloud on-demand audio streaming services. It comes with its own multimedia framework based on OpenMAX IL 1.2, which is independent of the known frameworks on Linux, namely, ffmpeg, libav, gstreamer or libvlc. OpenMAX IL is an open standard maintained by the Khronos Group that enables the creation and integration of software and hardware-accelerated media streaming components like audio and video encoders and decoders, camera components, and media processing algorithms.

In this article, we are going to show you its installation setup on Debian and Ubuntu Operating System. The development of this tool is hosted on GitHub and software binary releases are available for Debian-based Linux distributions from Bintray.

Prerequisites

In order to set up Tizonia command-line music player, we are going to use Ubuntu 18.04/20.04 and Debian 10/11. You need to have access on the server to perform system level tasks. Log on to your server with root credentials and update your system first using below commands.

# apt-get update -y
How to install Tizonia on Ubuntu and Debian

The package is available on Github that we can directly install it on the system by using the following command in our command line terminal.

# curl -kL https://github.com/tizonia/tizonia-openmax-il/raw/master/tools/install.sh | bash

This will be taking a while to complete the installation including all of its required dependencies. This will be showing you all the stats during the installation to look after. Upon successful installation, you will get the following log message as shown below.

tizonia 0.6.0. Copyright (C) 2017 Juan A. Rubio
This software is part of the Tizonia project

GNU Lesser GPL version 3
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Help topics:

global Global options available with most features.
openmax Various OpenMAX IL query options.
server SHOUTcast/ICEcast streaming server options.
client SHOUTcast/ICEcast streaming client options.
spotify Spotify options.
googlemusic Google Play Music options.
soundcloud SoundCloud options.
dirble Dirble options.
youtube Youtube options.
keyboard Keyboard control.
config Configuration files.
examples Some command-line examples.

Use "tizonia --help topic".

Tizonia is now installed.
Please add Spotify, Google Music, Soundcloud, and Dirble credentials in : /root/.config/tizonia/tizonia.conf

For the installation on a Debian system, you need to download the Debian binary package available on Tizonia's web page or simply use below command to setup binary distribution for Debian Jessie (version 8).

First, import the package signing key by flowing the command below in your command line terminal to install from the repository.

# curl 'https://bintray.com/user/downloadSubjectPublicKey?username=tizonia' | sudo apt-key add -

Next, add the 'deb https://dl.bintray.com/tizonia/debian bullseye main' to your '/etc/apt/sources.list' file of your Debian system as shown.

# echo deb https://dl.bintray.com/tizonia/debian bullseye main | sudo tee -a /etc/apt/sources.list

Now to install the package, first update the system so that our newly added repository got updated and then we will be able to install it using 'apt-get' command as shown.

# apt-get update && apt-get install tizonia-all
How to configure Tizonia

Before going to play your music on Ubuntu or Debain, we need to configure it first by providing our user authentications for getting the playlist from our library. You can get more help about its configurations by using below command.

# tizonia --help config

As per indications, let's copy the sample configuration file into the required folder.

# cp /etc/tizonia/tizonia.conf/tizonia.conf /root/.config/tizonia/

Let's see if you want to use Sound Cloud with Tizonia, then use SoudCloud page and follow the instruction to get the Authorization Token.

To avoid storing your SoundCloud credentials in the configuration file, or if you originally signed up with Facebook or other OAuth providers, you need to connect with your SoundCloud account using the "Connect with SoundCloud" button. This opens up the connect page on the SoundCloud server.
Next you can login (or sign up for a new account) and allow it to access your media . An authorization token is provided by SoundCloud and you can just transfer your SoundCloud OAuth token to your Tizonia config file.

# vim $HOME/.config/tizonia/tizonia.conf
# SoundCloud configuration
# -------------------------------------------------------------------------
# To avoid passing this information on the command line, uncomment and
# configure your SoundCloud OAuth token here.
#
# To obtain your OAuth token, Tizonia needs to be granted access to your
# SoundCloud account. Visit http://www.tizonia.org/soundcloud for the
# details.
#
# soundcloud.oauth_token = X-XXXXXX-XXXXXXXX-XXXXXXXXXXXXXX
How to Use it

After adding your Spotify, Google Music, Soundcloud and Dirble credentials to '$HOME/.config/tizonia/tizonia.conf' to sue the services. Help contents are varied due to the different services and functionality. You can always get help about any multi media service provider by suing the commands shown below.

# tizonia --help

Using above output, you can get help about any required topic like using any media service, keyboard control or even various OpenMAX IL query options.
For example run below command to get some command line options.

# tizonia --help examples
tizonia 0.6.0. Copyright (C) 2017 Juan A. Rubio
This software is part of the Tizonia project

GNU Lesser GPL version 3
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Examples:

tizonia ~/Music

* Decodes every supported file in the '~/Music' directory)
* File formats currently supported for playback:
* mp3, mp2, m2a, aac, (.aac only) flac (.flac, .ogg, .oga),
opus (.opus, .ogg, .oga), vorbis (.ogg, .oga), wav, aiff, aif.

tizonia --sampling-rates=44100,48000 -p 8011 --stream ~/Music

* Streams files from the '~/Music' directory.
* File formats currently supported for streaming: mp3.
* Sampling rates other than [44100,4800] are ignored.

After selecting your appropriate media channel, you can use their respective commands to play music on your command line terminals. Run below commands to get more help about your media channels.

# tizonia --help youtube
# tizonia --help soundcloud
# tizonia --help spotify
Spotify options (Spotify Premium required):
--spotify-user arg Spotify user name (not required if provided via
config file).
--spotify-password arg Spotify user password (not required if provided via
config file).
--spotify-playlist arg A playlist from the user's library.

That's it about the installation of this awesome tool on Ubuntu 18.04/20.04, let's move to the next step to see how its works, by playing some musing.

Play music with Tizonia

Once you have placed the token key of your media channel in the configuration file, then run the command below to Play the tracks currently listed in your user's stream.

# tizonia --soundcloud-user-stream
tizonia 0.6.0. Copyright (C) 2017 Juan A. Rubio
This software is part of the Tizonia project

[SoundCloud] [Connecting] : '1-154338-215580508-635f479696di8'.
[SoundCloud] [Tracks in queue] '3'.
[SoundCloud] [Connected] : 'SoundCloud user stream'.
E-Gham Ki Drazi : Zkm Qawali Group
Duration : 29m:24s
Likes count : 31
Permalink : https://soundcloud.com/zkm-qawali-group/e-gham-ki-drazi
License : all-rights-reserved
Audio Stream : 128 kbit/s, 44100 Hz
MPEG Layer : III, w/o CRC
Mode : joint (MS/intensity) stereo, no emphasis
2 Ch, 48 KHz, 16:s:b
2 Ch, 44.1 KHz, 16:s:b

Using below command you can run any of your favorite track by mentioning its title name.

# tizonia --soundcloud-tracks 'Cruch'

This will be searching the media directory and will play your required music track as shown.

[SoundCloud] [Tracks in queue] '97'.
[SoundCloud] [Connected] : 'Crunch'.
Chris Travis - Crunch Time : ChrisTravis
Duration : 3m:53s
Likes count : 185367
Permalink : https://soundcloud.com/christravis/chris-travis-crunch-time
License : all-rights-reserved
Audio Stream : 128 kbit/s, 44100 Hz
MPEG Layer : III, w/o CRC
Mode : joint (MS/intensity) stereo, no emphasis
2 Ch, 48 KHz, 16:s:b
2 Ch, 44.1 KHz, 16:s:b

Run below command to Search and play genres top tracks using `arg` which is a command-separated list.

# tizonia --soundcloud-genres arg

Upon successful command execution you will get the below output with playing in the following sequence.

tizonia 0.6.0. Copyright (C) 2017 Juan A. Rubio
This software is part of the Tizonia project

[SoundCloud] [Connecting] : '1-154538-225583508-635f479606da8'.
[SoundCloud] [Track] 'lowkey something special'.
[SoundCloud] [Track] 'Adrienne Guss sings "Cups"'.
[SoundCloud] [Track] 'Saari Ke Fall Sa (Brothers Styles & ARG Production) Demo'.
[SoundCloud] [Track] 'Do You Want to Build a Snowman? by Adrienne Guss'.
[SoundCloud] [Track] 'ARG'.
[SoundCloud] [Track] 'd' Arg'.
......

That's it, like the same way you can use the other media channels and enjoy playing music from your command line terminal.

Conclusion

In this article we learned about an awesome tool that linux user can use to enjoy music on their favorite black window command line terminal using Tizonia. We have included installation, configuration and usage on Ubuntu and a Debian Operating system to accomplish this article. Hope you enjoyed this article to setup your command line music player on your system. Thank you for staying with us will get back you with some more interesting tools for Linux.

Ref From: linoxide
Channels:

Related articles