Command-line cloud music player and audio streaming client/server.

tizonia is a command-line application that can:

  • Stream playlists from Spotify (Spotify Premium required).

  • Search and stream audio from Google Play Music (free and paid tiers).

  • Search and stream audio from YouTube.

  • Search and stream audio from SoundCloud.

  • Search and stream Internet radio stations from the TuneIn directory.

  • Search and stream audio from Plex servers.

  • Cast cloud music to your Chromecast devices.

  • Playback of local media files (mp3, mp2, mpa, m2a, aac, ogg/vorbis, opus, wav, aiff, and flac).

  • Act as an Icecast/SHOUTcast LAN server (mp3) (experimental).

  • Stream Icecast/SHOUTcast radio stations as a client (mp3, aac, and opus).

  • Be used as daemon or as an interactive command-line application.

  • Be remote-controlled via its MPRIS D-BUS v2 media player remote control interface (basic playback controls only).

OpenMAX IL 1.2 plugins

There is a large list of OpenMAX IL plugins that implement all the audio and multimedia functions used by Tizonia. Here is a (incomplete) list:

  • Spotify streaming service client (libspotify),

  • Google Play Music streaming service client (based on gmusicapi),

  • YouTube audio streaming service client (based on pafy),

  • SoundCloud streaming service client (based on soundcloud-python),

  • Dirble internet radio station directory (Dirble REST API + libcurl)

  • Plex server client (based on plexapi),

  • Chromecast renderer (based on pychromecast),

  • mp3 decoders (libmad and libmpg123),

  • mpeg audio (mp2) decoder (libmpg123),

  • Sampled sound formats decoder (various pcm formats, including wav, etc, based on libsndfile)

  • AAC decoder (libfaad),

  • OPUS decoders (libopus and libopusfile)

  • FLAC decoder (libflac)

  • VORBIS decoder (libfishsound)

  • PCM renderers (ALSA and Pulseaudio)

  • OGG demuxer (liboggz)

  • WEBM demuxer (libnestegg)

  • HTTP renderer (i.e. ala icecast, for LAN streaming)

  • HTTP source (libcurl)

  • mp3 encoder (LAME),

  • a VP8 video decoder (libvpx),

  • a YUV video renderer (libsdl)

  • general purpose plugins, like binary file readers and writers

  • etc…

Skema: Tizonia’s test execution framework for OpenMAX IL components.

There is also a bespoke test execution framework for testing the graphs/pipelines of OpenMAX IL components used in Tizonia: