/hbud

Simple music / video player and karaoke app written in Python and GTK4

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

HBud

Simple audio / video player and karaoke app written in Python and GTK4

Download on Flathub

Latest published version Number of installs

Donate on Ko-fi

Features

  • Audio and video playback
  • Subtitle support
  • Karaoke mode (synced lyrics needed in own srt format, see below for instructions)
  • Static lyric automatically from online sources
  • Metadata editor (for audio files)
  • Playlists (from folder structure)
  • Seamlessly switch back and forth between video and audio playback (remembers where to continue)
  • Native, lightweight and simple
  • Minimalistic design
  • Customizable
  • Flatpak package for compatibility and security

Translation

First you have to clone this repo, then change directory into it's root (where the Makefile is).

You can then use the make command with the provided flags:

  • Add new translation: make translate-new lang=en
  • Generate .mo files: make translate-add lang=en
  • Update .po files: make translate-update lang=en
  • Update .mo files: make translate-upgrade lang=en

It's important to use UTF-8 charset when needed (instead of ASCII).

Downloading music

I recommend using one of these tools:

  • spotDL - Spotify
  • Freyr - Spotify, Apple Music, Deezer

Credits

Generate synced lyrics

Here I'll show you how to generate synced lyrics for yourslef

Requirements

  • ~20GB of RAM (you can use swap to extend your memory)
  • ~20GB of disk space
  • node v12 or above (for ubuntu/debian based distros you can use this repo)

Installation

  1. Install AutoLyrixAlignService
    • It'll guide you through downloading the neural network and the dependencies
  2. Run the server as described above, connect to it and set things up
  3. Select RAW output format, save to aligned.txt when ready (DO NOT copy into a file, use Ctrl+S to save it)
  4. Save the plain lyrics to lyrics.txt
  5. Run tosrt.py from this repo like this: python3 tosrt.py aligned.txt lyrics.txt output.srt
  6. Move and rename the resulted output file alongside your audio file

Other methods

You can try to generate a word by word .lrc file (here for example), and you can try my experimental enhanced-lrc converter like this: python3 lrc2srt.py lyric.lrc output.srt

Generate subtitles

You can use AutoSub which is a nice tool if you want to generate your own subtitles.

A manual alternative is the GTK program Gnome Subtitles

Note: You can also use this program, to adjust already generated synced lyrics to different audio files of the same song.