Encourage FUNIX

The consultation of the site is completely free and without advertisements. Donations are nevertheless appreciated to pay for hosting and encourage its author


Audio and karaoke players

[ Overview | Audio oriented tools ( Audacious , Clementine , lollypop   ) | Karaoke ( pyKaraoke , dmidiplayer , Kodi , OSD Lyrics ) )]

Audio and karaoke players

Last modified February 20, 2025

This site has been automatically translated with Google Translate from this original page written in french, there may be some translation errors

Presentation

This is a bit of a catch-all page with audio tools that don't fit into the categories of the other pages ( video editing , transcoding , video playback , managing audio metadata and playlists ) on this site. So there are software programs for listening to audio while managing an audio library and for doing karaoke.

We assume that you have installed the basic libraries for making video .

Audio oriented tools

Audacious

Audacious is a software to manage an audio library, you can create playlists, sort, just what you need to liven up an evening. The official site is http://audacious-media-player.org/ you can get the archive there and unzip it by typing:

tar xvfj audacious-4.4.2.tar.bz2

this gives the directory audacious-4.4.2 we will now install lib64archive-devel, lib64qt5svg-devel, valgrind-devel, lib64qt5core-devel, lib64qt5gui-devel , lib64qt5widgets-devel and lib64gtk+3.0-devel and in the previously created directory we type:

./configure --enable-qt5 --enable-valgrind --enable-gtk --enable-libarchive

here is the result

Configuration:

  Install path: /usr/local

  D-Bus support: yes
  GTK support: yes
  Qt support: yes
  libarchive support: yes
  Valgrind analysis support: yes

then we type


make

then as root

make install

we now install audacious-plugins which we find on the same site by typing

tar xvfj audacious-plugins-4.4.2.tar.bz2

this gives the directory audacious-plugins-4.4 .2, we first install the packages lib64sndfile-devel lib64cdio-paranoia-devel lib64cddb-devel samplerate-devel, lib64qt5x11extras-devel, lib64qt5opengl-devel, lib64qt5multimedia-devel, lib64qt5network-devel, lib64cdio-devel, lib64opusfile-devel, lib64wavpack-devel, lib64mpg123-devel and lib64neon-devel then we return to the directory of audacious plugins in which we type

./configure --enable-qt5 --enable-streamtuner

here is the result

Configuration:

  Install path: /usr/local/lib/audacious

  GTK support: yes
  Qt support: yes

  Audio Formats
  -------------
  Audio CD: yes
  Free Lossless Audio Codec: yes
  Ogg Vorbis: yes
  Opus: yes
  MIDI (via FluidSynth): no
  MPEG-1 Layer I/II/III (via mpg123): yes
  MPEG-2/4 AAC: yes
  WavPack: yes

  External Decoders
  -----------------
  FFmpeg: yes
  libsndfile: yes

  Chiptunes
  ---------
  AdLib synthesizer (adplug): no
  Commodore 64 audio (sid): no
  Game Music Emu (spc, nsf, gbs, etc.): yes
  ModPlug: no
  OpenMPT: no
  Nintendo DS audio (xsf): yes
  PlayStation audio (psf/psf2): yes
  Vortex Tracker (vtx): yes

  Other Inputs
  ------------
  Metronome: yes
  Tone Generator: yes

  Effects
  -------
  Background Music yes
  Bauer stereophonic-to-binaural (bs2b): no
  Bitcrusher: yes
  Channel Mixer: yes
  Crystalizer: yes
  Dynamic Range Compressor: yes
  Echo/Surround: yes
  Extra Stereo: yes
  LADSPA Host (requires GTK): yes
  Sample Rate Converter: yes
  Silence Removal: yes
  SoX Resampler: no
  Speed ​​and Pitch: yes
  Voice Removal: yes

  Outputs
  -------
  Advanced Linux Sound Architecture: yes
  Jack Audio Connection Kit: no
  Open Sound System: yes
  PipeWire: no
  PulseAudio: yes
  Simple DirectMedia Layer: no
  Sndio: yes
  Win32 waveOut: no
  FileWriter: yes
    -> MP3 encoding: yes
    -> Vorbis encoding: yes
    -> FLAC encoding: yes

  Playlists
  ---------
  Cue sheets: no
  M3U playlists: yes
  Microsoft ASX (legacy): yes
  Microsoft ASX 3.0: yes
  PLS playlists: yes
  XML Sharable Playlist Format (XSPF): yes

  Transports
  ----------
  FTP, SFTP, SMB (via GIO): yes
  HTTP/HTTPS (via neon): yes
  MMS (via libmms): no

  General
  -------
  Ampache browser (requires Qt): no
  Delete Files: yes
  libnotify OSD: no
  Linux Infrared Remote Control (LIRC): no
  Lyrics Viewer: yes
  MPRIS 2 Server: yes
  Scrobbler 2.0: yes
  Song Change: yes

 

  GTK Support
  -----------
  GTK Interface:                          yes
  Winamp Classic Interface:               yes
  Album Art:                              yes
  Blur Scope:                             yes
  OpenGL Spectrum Analyzer:               yes
  Playlist Manager:                       yes
  Search Tool:                            yes
  Spectrum Analyzer (2D):                 yes
  Status Icon:                            yes
  X11 Global Hotkeys:                     yes
  X11 On-Screen Display (aosd):           yes

  Qt Support
  ----------
  Qt Multimedia output:                   yes
  Qt Interface:                           yes
  Winamp Classic Interface:               yes
  Album Art:                              yes
  Blur Scope:                             yes
  OpenGL Spectrum Analyzer:               yes
  Playlist Manager:                       yes
  Search Tool:                            yes
  Song Info:                              yes
  Spectrum Analyzer (2D):                 yes
  Status Icon:                            yes
  Stream Tuner (experimental):            yes
  VU Meter:                               yes
  X11 Global Hotkeys:                     yes

then type make then as root make install

here is the result when launching it


Clementine

Clementine is also a tool to manage a library, it offers much more features than Audacious, but it is a little more complicated to install. Here is the list of features, which can be found on the official website https://www.clementine-player.org/fr/  :
On the official website we drop version 1.3.1 which is not compatible with qt5 and with the latest versions of linux regardless of the distribution. It will be necessary to use a development version that can be found here https://github.com/clementine-player/Clementine we unzip this version by typing

tar xvfz Clementine-1.4.1-32-g2e6af22d7.tar.gz

this gives the directory Clementine- 1.4.1- 32-g2e6af22d7 it will be necessary to recover the .git directory which was forgotten in the archive, we recover the latest version under development by typing

git clone https://github.com/clementine-player/Clementine.git

and we copy the Clementine/.git directory under Clementine- 1.4.1- 32-g2e6af22d7

We return to Clementine- 1.4.1- 32-g2e6af22d7 in which we type successively

mkdir build
cd build
cmake .. -DBUILD_WERROR=OFF

you will probably need to first install the packages glew-devel, lib64boost-devel, lib64qt5test-devel, lib64qt5concurrent-devel, lib64qt5xml-devel, lib64qt5help-devel, lib64fftw-devel, protobuf-devel, lib64gmock-devel, lib64sparsehash-devel and lib64mtp-devel here is the result

Building Clementine version: 1.4.1-32-g2e6af22d7

The following components will be built:
   ALSA integration
   Box support
   D-Bus support
   Devices: Audio CD support
   Devices: GIO device backend
   Devices: MTP support
   Devices: UDisks2 backend
   Devices: iPod classic support
   Dropbox support
   Google Drive support
   Moodbar support
   Pulse audio integration
   Seafile support
   Skydrive support
   Visualizations
   Wiimote support

The following components WILL NOT be built:
   Crash reporting (disabled in CMake config)
   Last.fm support (missing liblastfm)
   Sparkle integration (missing macOS, Sparkle)
   Translations (missing Qt5LinguistTools)

-- Configuring done (4.0s)
-- Generating done (0.3s)
-- Build files have been written to: /usr/local/linux/multimedia/Clementine-1.4.1-32-g2e6af22d7/build

type make, then as root make install

here is the interface, I let you discover the user manual on the official website, but right away it is very intuitive. The biography mode below

and with the smart reading modes that make Clementine strong.



lollypop is another alternative, the interface is a bit confusing, with settings scattered everywhere and not always intuitive to find, but it has the advantage of integrating the smart list functionality with sorting by year for example, a feature that I do not find on Clementine and which works quite badly on kodi. The full screen mode is pretty good, it uses the photo embedded in the music file and will retrieve an image of the artist from the internet. It unfortunately still suffers from a few bugs, but it is quite promising.

The official site is https://gitlab.gnome.org/World/lollypop before going further you will need to install the following packages:

urpmi lib64girepository-devel python-gobject3-devel lib64totem-plparser-devel python3-beautifulsoup4 python3-soupsieve lib64appstream-glib-devel vala-tools lib64gladeui2-devel lib64handy1_0 lib64handy-devel lib64soup3.0-devel python3-pillow

we go back to lollypop and unzip the archive by typing

tar xvfz lollypop-1.4.41.tar.gz

this gives the lollypop-1.4.41 directory in which we type:

meson builddir --prefix=/usr/local

then as root

ninja -C builddir install

and this is what it looks like once the audio library is loaded


in smart lists configuration mode.

And in full screen mode


Karaoke

pyKaraoke

pyKaraoke is the simplest tool to make karaoke, the official site is http://www.kibosh.org/pykaraoke we retrieve the archive that we unzip by typing

unzip pykaraoke-0.7.5.zip

this gives the directory pykaraoke-0.7.5. Previously we will install the following packages by typing the command below

urpmi python-pygame wxPython python-pygame-devel lib64python-devel

we return to the directory of pyKaraoke and as root we type

python setup.py install

now we will need to install a midi sequencer, I chose TiMidity++ to make it simple we will take the default packages of the distribution, on a mageia these are the packages timidity-patch-freepats  and TiMidity++ , we will also create the following link

ln -s /etc/alternatives/timidity.cfg /etc

we launch the sequencer by typing:

shyness -iA -Os

here is the result

Requested buffer size 32768, fragment size 8192
ALSA pcm 'default' set buffer size 32768, period size 8192 bytes
TiMidity starting in ALSA server mode
Opening sequencer port: 128:0 128:1 128:2 128:3

This is what it looks like in an image when invoking the pykaraoke command now:

pykaraoke

dmidiplayer

dmidiplayer or rather Drumstick Multiplatform MIDI File Player is a software for playing .mid, . kar files but also .RMI (RIFF MIDI) and .WRK (Cakewalk) files. It can be interfaced with MIDI devices or DAW software.

Before installing it there are a number of software to install. We will start with sonyvox which is a wavetable synthesizer, which can be found here https://github.com/pedrolcl/sonivox. We unzip the archive by typing

tar xvfz sonivox-3.6.15.tar.gz

this gives the directory sonivox-3.6.15 in which we type (as root exceptionally)

mkdir build
cd build
cmake ..
make
make install

We will then install Drumstrick which is a MIDI library that uses Qt5 , the official site is https://drumstick.sourceforge.io/ . We will first install the packages lib64qt6uitools-devel, lib64qt6test-devel. We unzip the archive by typing

tar xvfj drumstick-2.10.0.tar.bz2

In the drumstick-2.10.0 directory we type

mkdir build
cd build
cmake..

make

then as root make install

We finally arrive at dmidiplayer , the official site is https://sourceforge.net/projects/dmidiplayer/. We unzip the archive by typing

tar xvfj dmidiplayer-1.7.5.tar.bz2

In the dmidiplayer-1.7.5 directory we type

mkdir build
cd build
cmake ..

here is the result

-- Drumstick MIDI File Player v1.7.5
     install prefix: /usr/local
     Build configuration:
     Operating System: Linux
     Processor: x86_64
     Qt Version: 6.8.1
     Drumstick Version: 2.10.0
     Uchardet Version: 0.0.8
-- Found Git: /bin/git (found version "2.47.0")
-- Configuring done (0.8s)
-- Generating done (0.0s)
-- Build files have been written to: /usr/local/linux/multimedia/dmidiplayer-1.7.5/build

then type make then as root make install

And here is the result



OSD Lyrics

OSD Lyrics has the advantage of being able to interface with Audacious. The official website is https://github.com/osdlyrics/osdlyrics we unzip the latest stable version by typing

tar xvfz osdlyrics-0.5.15.tar.gz

this gives the directoryosdlyrics-0.5.15.tar.gz . First we will install the following packages by typing the command below

urpmi lib64notify-devel intltool python-future

then we type

./autogen.sh
make

then as root

make install

Coupled with audacious, it gives this

The text display is obviously synchronized with the song. It can be configured to display 2 lines and see the next one in advance.

Scrolling is also possible

There you have it, you no longer have any excuses for partying under Linux!

KODI

KODI in addition to integrating a classic audio player

also integrates a basic karaoke module




[ Back to home ] [ Back to top of page ]